Android Debug Bridge (adb) is a console program that allows you to debug mobile devices on Android, as well as emulators.

Description

This utility greatly simplifies installation and debugging of applications, and also provides access to the Unix shell. The latter can be used to run the necessary commands on the device. Among other things, the program can be used to unlock a smartphone with debugging mode enabled. It is worth noting, however, that Android Debug Bridge supports work with any Android devices, provided that the necessary functionality has not been blocked by the manufacturer.

The program includes three components:

  • Client. Runs on the developer's PC and sends commands. To call the client, you can use the appropriate command in the terminal.
  • Demon (adbd). Executes commands on the device. Works in background on every device.
  • Server. Controls the interaction between the client and the daemon. Runs in the background on the developer's computer.

ADB Features:

  • View a list of connected and supported devices.
  • View logs.
  • Copy and transfer data and files between devices.
  • Installing and uninstalling applications.
  • Clearing and overwriting the data section.
  • And also much more.

From our website you can download Android Debug Bridge completely free of charge, without registration or SMS.

Screenshots

DOS Debug is a debugging application that enhances the functionality of the original MS DEBUG command. Running on 32-bit computer architectures only, it plays the role of an assembler and dissassembler, providing programmers with a way to diagnose COM and other executable files.

The package includes a binary intended for debugging 16-bit applications (DEBUG.COM), as well as a modified version called DEBUGX.COM, which is compatible with 16-bit and 32-bit applications that run in protected mode (DPMI-enabled ).

The application runs in the command console, allowing you to view a list of all the available commands by accessing the "Help" section.

Among the additional features that DOS Debug brings you can find improvements to the assembler and dissassembler, (which can notify you in case processor incompatibilities are detected), support for FPU Opcodes, 80386+ CPUs and as such, 32-bit register names.

Also, it can act as a hex dump application and bundles options for analyzing memory content, comparing or filling a range of addresses, displaying the MCB chain (DOS memory control block). Other commands allow you to gain access to certain disk sections, ports and memory sectors or set a program"s name.

DEBUG.COM runs as a 16-bit program, which means that it can act on 16-bit applications only, but its improved version (DEBUGX.COM) allows the debugging of 32-bit DPMI programs as well.

Intended for experienced programmers, DOS Debug provides an utility that can replace the MS DEBUG command. It can process both 16-bit and 32-bit DPMI packages and includes detailed function description in the documentation, which allows the easy understanding of what each command does.

Debugging Tools for Windows- Operating code debugging tools Windows systems. They are a set of freely distributed programs from Microsoft designed for debugging code user mode and kernel mode: applications, drivers, services, kernel modules. The toolkit includes console and GUI mode debuggers, utilities for working with symbols, files, processes, and utilities for remote debugging. The toolkit contains utilities that can be used to find the causes of failures in various system components. Debugging Tools for Windows With certain point are not available for download as a standalone distribution and are included in Windows composition SDK (Windows Software Development Kit). Set of instrumental Windows tools The SDK, in turn, is available as part of the MSDN subscription program or can be freely downloaded as a separate distribution from msdn.microsoft.com. According to the developers, the latest and most current version Debugging Tools for Windows is contained specifically in the Windows SDK.

Debugging Tools for Windows are updated and made publicly available quite often and this process does not depend in any way on the release of operating systems. Therefore, check periodically for new versions.

Let's now see what, in particular, the Debugging Tools for Microsoft Windows:

  • Debug local applications, services, drivers and kernel;
  • Debug over the network remote applications, services (services), drivers and kernel;
  • Debug running applications in real time;
  • Analyze memory dump files of applications, the kernel and the system as a whole;
  • Work with systems based on x86/x64/Itanium architectures;
  • Debug user mode and kernel mode programs;

The following versions of Debugging Tools for Windows are available: 32-bit x86, Intel Itanium, 64-bit x64. We will need two of them: x86 or x64.

There are several ways to install Debugging Tools for Windows; in this article we will consider only the main ones:

  • Installation via web installer.
  • Installing Debugging Tools for Windows from ISO Windows image SDK.
  • Installing Debugging Tools for Windows directly from the dbg_amd64.msi / dbg_x86.msi packages.

It remains unclear at what point, why should I install debugging tools on my computer? Often you are faced with a situation where interference in the work environment is extremely undesirable! And even more so, installing a new product, that is, making changes to the registry/system files, may be completely unacceptable. Examples include mission-critical servers. Why don't developers consider the option of portable versions of applications that do not require installation?
From version to version, the installation process of the Debugging Tools for Windows package undergoes some changes. Let's now move directly to the installation process and look at the ways in which you can install the toolkit.

Installing Debugging Tools for Windows using the web installer

Go to the Windows SDK Archive page and find a section called Windows 10 and below the item “Windows 10 SDK (10586) and device emulator with Windows 10 Mobile (Microsoft) (version 10586.11)”.

Click on the item INSTALL SDK. After clicking, download and run the file sdksetup.exe, which initiates the online installation process of the Windows SDK. At the initial stage, the installer will check whether the .NET Framework package is installed on the system latest version(V this moment this is 4.5). If the package is missing, installation will be offered and the station will reboot upon completion. Immediately after the reboot, at the user authorization stage, the installation process of the Windows SDK itself starts.

Often, when selecting all components of a package without exception, errors may occur during the installation process. In this case, it is recommended to install components selectively, the minimum required set.

After the installation of Debugging Tools for Windows location debug files when this method Our installation will be as follows:

  • 64-bit versions: C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x64
  • 32-bit versions: C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x86

* where x.x is a specific version of the development kit;
Have you noticed that versions 8 and higher, the installation paths are noticeably different from the classic debugging tools for all previous versions?

A huge plus this method Installing Debugging Tools for Windows involves installing versions of debugging tools for all architectures at once.

Installing Debugging Tools for Windows from the Windows SDK ISO

This method involves installing Debugging Tools for Windows using the full Windows SDK (Software Developers Kit) installation image. Until a certain time, download ISO image for the corresponding system it was possible on the Windows SDK Archive page. However, at the moment, you can get an ISO image of the SDK by running the web installer sdksetup.exe and selecting Download the Windows Software Development Kit in the installer start window:

As we found out, the previous installation method using a web installer is quite capricious and often ends in error. On clean systems it installs without problems, but on sufficiently loaded systems numerous problems arise. If this is your case, then use this method.

Accordingly, on the page you need to select the required distribution, for me (and I think for many) at the moment it is " Windows package SDK for Windows 7 and .NET Framework 4" and just below click on the link "Get an ISO image of a DVD".

When working with the site msdn.microsoft.com, I recommend using Internet browser Explorer because competing products have been reported to not work!

Accordingly, it is necessary to choose solely according to necessity. Typically, the bitness of Debugging Tools for Windows matches the bitness of the system. My systems are mostly 64-bit, so in most cases I download the image for a 64-bit system GRMSDKX_EN_DVD.iso.
Then, after downloading the image, we need to somehow work with the existing ISO image. The traditional method is, of course, to burn a CD, but this is a rather long and sometimes expensive method. I suggest you use free utilities on creating virtual disk devices in the system. Personally, I prefer to use DEAMON Tools Lite for this purpose. Someone may have other preferences, more direct or lightweight utilities, depending on the taste and color, as they say.. After installation DAEMON Tools Lite, I simply double-click on the image file GRMSDKX_EN_DVD.iso and a new virtual CD appears in my system:

Only then double click I activate autoload and start the Windows SDK installation:

When it’s time to select components to install from the list, we disable absolutely all options except those marked in the screenshot. This will help us avoid unnecessary mistakes now.


Everything is exactly like that, in the screenshot there are two options marked: “Windows Performance Toolkit” and “Debugging Tools for Windows”. Choose both, because Windows Performance Toolkit will certainly come in handy in your work! Then, after clicking the "Next" button, the installation continues as usual. And at the end you will see the inscription “Installation Complete”.
Upon completion of installation, the working directories of the Debugging Tools for Windows package will be as follows:

  • For x86 version:
  • For x64 version:

At this point, the installation of Debugging Tools for Windows can be considered complete.

Installing Debugging Tools for Windows via .msi file

If problems arise when installing Debugging Tools for Windows using the two previous methods, we still have one more in stock, the most reliable and time-tested, which has come to the rescue, so to speak, more than once. Once upon a time, before integration into the Windows SDK, Debugging Tools for Windows were available as a separate installer.msi, which can still be found, but already in the bowels of the Windows SDK distribution. Since we already have in our hands Windows ISO image SDK, then we can not mount it into the system, but simply open it using the already well-known WinRAR archiver, or any other product that works with the contents of ISO disks.

After opening the image, we need to go to the “Setup” directory located in the root and then select one of the directories:

  • To install the 64-bit version: \Setup\WinSDKDebuggingTools_amd64 and unpack the dbg_amd64.msi file from this directory.
  • To install the 32-bit version: \Setup\WinSDKDebuggingTools and unpack the dbg_x86.msi file from this directory.

Upon completion of installation, the working directories of the Debugging Tools for Windows package will be as follows:

  • For x86 version: C:\Program Files (x86)\Debugging Tools for Windows (x86)
  • For x64 version: C:\Program Files\Debugging Tools for Windows (x64)

At this point, the installation of Debugging Tools for Windows can be considered complete.

additional information

I don’t know what this is connected with, maybe due to my carelessness, but after installing Debugging Tools for Windows, the installer does not set the path to the directory with the debugger in the system path variable Path. This imposes certain restrictions on launching various debugging tasks directly from the console. Therefore, if there is no path, I independently write in the window Environment Variables path to debugging tools:

  • C:\Program Files (x86)\Windows Kits\10\Debuggers\x86
  • C:\Program Files (x86)\Windows Kits\10\Debuggers\x64

* In your case, the paths may differ both due to the use of an OS of a different bit size, and due to the use of a different SDK version.

The utilities of the Debugging Tools for Windows package can work as portable applications; simply copy them from working system catalog Microsoft Windows Performance Toolkit and use it as a portable version on a production server. But do not forget to take into account the system capacity!! Even if you have completed a complete installation of the package on a critical system, you can start working right after installation, no reboot is required.

Composition of Debugging Tools for Windows

And now, finally, here is the composition of Debugging Tools for Windows:

File Purpose
adplus.doc Documentation for the ADPlus utility.
adplus.exe A console application that automates the work of the cdb debugger to create dumps and log files for one or more processes.
agestore.exe A utility for removing obsolete files from storage used by a symbol server or source server.
breakin.exe A utility that allows you to send a custom break combination to processes, similar to pressing CTRL+C.
cdb.exe User mode console debugger.
convertstore.exe A utility for converting symbols from 2-tier to 3-tier.
dbengprx.exe Repeater (proxy server) for remote debugging.
dbgrpc.exe A utility for displaying RPC call status information.
dbgsrv.exe Server process used for remote debugging.
dbh.exe A utility for displaying information about the contents of a symbol file.
dumpchk.exe Dump checking utility. A utility for quickly checking a dump file.
dumpexam.exe A utility for analyzing a memory dump. The result is output to %SystemRoot%\MEMORY.TXT .
gflags.exe Editor of global system flags. The utility manages registry keys and other settings.
i386kd.exe Wrapper for kd. Was that what kd was once called for systems based on Windows NT/2000 for x86 machines? Probably left for compatibility reasons.
ia64kd.exe Wrapper for kd. Was it once called kd for systems based on Windows NT/2000 for ia64 machines? Probably left for compatibility reasons.
kd.exe Kernel mode console debugger.
kdbgctrl.exe Kernel debugging management tool. A utility for managing and configuring kernel debugging connection.
kdsrv.exe Connection server for KD. The utility is a small application that runs and waits for remote connections. kd runs on the client and connects to this server for remote debugging. Both the server and client must be from the same Debugging Tools assembly.
kill.exe A utility for ending processes.
list.exe A utility for displaying the contents of a file on the screen. This miniature utility was included with one purpose - viewing large text or log files. It takes up little memory space because it loads the text in parts.
logger.exe A miniature debugger that can only work with one process. The utility injects logexts.dll into process space, which records all function calls and other actions of the program under study.
logviewer.exe A utility for viewing logs recorded by the logger.exe debugger.
ntsd.exe Microsoft NT Symbolic Debugger (NTSD). A debugger identical to cdb except that it creates a text window when launched. Like cdb, ntsd is capable of debugging both console applications and graphical applications.
pdbcopy.exe A utility for removing private symbols from a symbol file, controlling public symbols included in the symbol file.
remote.exe A utility for remote debugging and remote control of any console debugger KD, CDB and NTSD. Allows you to run all these console debuggers remotely.
rtlist.exe Remote task viewer. The utility is used to display a list of running processes through the DbgSrv server process.
symchk.exe A utility for downloading symbols from the Microsoft symbol server and creating a local symbol cache.
symstore.exe A utility for creating a network or local symbol storage (2-tier/3-tier). Symbol storage is a specialized directory on disk, which is built in accordance with a specific structure and contains symbols. A structure of subfolders with names identical to the names of the components is created in the root directory of symbols. In turn, each of these subfolders contains nested subfolders that have special names obtained by hashing binary files. The symstore utility scans component folders and adds new components to the symbol store, where any client can retrieve them. It is said that symstore is used to receive symbols from 0-tier storage and put them into 2-tier/3-tier storage.
tlist.exe Task viewer. A utility for displaying a list of all running processes.
umdh.exe User-mode dump heap utility. A utility for analyzing heaps of the selected process. Allows you to display various parameters for the heap.
usbview.exe USB Viewer. Viewer utility USB devices connected to the computer.
vmdemux.exe Demultiplexer virtual machine. Creates several named pipes for one COM connection. Channels are used to debug various virtual machine components
windbg.exe User mode and kernel mode debugger with GUI.

A driver is essentially a link between the operating system, that is software and hardware, that is, physical devices such as video cards, printers, processors, etc. IN operating system basic drivers can be laid for the most necessary devices- mouse, keyboard, but for everything else you will need fresh drivers.

How to install the driver?

1.The easiest way, if available installation file, then you just need to run it and follow the installer's instructions.
2.If there is no installer available, and there are only files with the extensions *.inf, *.dll, *.vxt, *.sys, *.drv., then the algorithm of actions should be approximately as follows:

a) First you need to select the icon ( My computer) and click on it right click mouse, select ( Properties).

b) Now go to the tab ( Equipment) and presses the button ( device Manager).

c) Now you need to select the device for which the driver will be installed/updated. On the line with the device, you need to right-click and select ( Properties), or you can simply double-click on it to go to the desired settings.


d) Go to the tab ( Driver), select the button ( Update).

e) In the dialog box that appears, select the item ( No, not this time) and go to ( Further).

f) At this stage there are two options. You can try to install the drivers in automatic mode, then the OS itself will try to find drivers suitable for the device and install them, for this we select ( Automatic installation(recommended)) , if the attempt fails, then you need to move on to the second point ( Installation from a specified location) and select ( Further).


g) This menu item implies a choice between searching for a driver on removable media and the option to specify the folder with the driver yourself. Therefore, if you have a disk with drivers, you need to insert the disk into the CD-rom and select the option ( Search on removable media (floppy disks, CDs...)) and go ( Further).

If the driver is found and downloaded on the Internet yourself, then you need to manually specify the path to the folder in which the installation data for the driver is located as follows. Select the item ( Include the following search location:) and go to ( Review), now select the folder with the driver from the list and click on the button ( OK). Now we boldly move on ( Further), if everything is done correctly, the installation of the necessary driver will begin.

OllyDbg 2.0 is a User Space level debugger that has gained great popularity among users all over the world. Nowadays, many plugins have been written for OllyDbg, so it is a pleasure to work with it. OllyDbg has good functionality, which makes it suitable for solving various problems and examining code of any complexity. The debugger interface is fully customizable: background of working windows, font color and size, highlighting of certain assembly instructions, and much more.

Key Features and Functions

Interface:

  • The interface consists of windows for program code, registers, stack, and memory dump. The background and font color can be set to your liking. At the very top of the button quick access to the basic functions and most common operations.

Functions:

  • a list of functions used in the program being debugged;
  • a list of string variables found in the program;
  • a list of handles for control elements of the program being debugged, such as: window, buttons, checkboxes, toolbars, etc.;

BreakPoints. It is possible to set several breakpoints (including simultaneously):

  • for a specific function;
  • to a specific address;
  • to a Windows message;
  • to read from memory;
  • for recording into memory;
  • to access memory (read and write);
  • to a specific sequence of code instructions;

You can specify separate specific conditions for breakpoints, for example, specific value the specified register and much more. The function of recording to a log file is supported.

Stack:

  • values ​​on the stack are accompanied by comments, which makes it easier to understand function arguments.

Trace:

  • When executing code step by step, before each instruction the debugger prompts the current value of the memory addresses on which operations are being performed.

Searching for values ​​in memory:

  • Supports searching for ASCII and Unicode strings, as well as hex values.

Code window:

  • The program code is accompanied by comments, such as function names, their arguments, variable values, and more.