The debuggers in the Debugging Tools for Windows package can run on all NT-based operating systems. They can debug any applications, services, or drivers that run on these operating systems. They do not support Windows 95/98/Me.
The Debugging Tools for Windows package includes documentation on WinDbg, KD, CDB, and NTSD, along with tips on how to debug various kinds of drivers and applications, how to create and analyze a crash dump file, how to run a remote debugging session, and how to use debugger extension commands. This package also includes several additional debugging tools and support tools.Debugging Tools for Windows supports debugging of:
cdb.exe has been used to find a heap corruption bug in a windows app generates from msvc compile
What does not
incomplete symbol support - Getting an address of a symbol works
0:000> ? gd32dar
Evaluate expression: 4409824 = 004349e0
but the reverse function crashes
0:000> ln 004349e0
wine: Call from 0x7b43fe5e to unimplemented function dbghelp.dll.SymNextW, aborting
(004349e0) GauszMDI!gd32dar wine: Unimplemented function dbghelp.dll.SymNextW called at address 0x7b43fe5e (thread 0009), starting debugger...
Unhandled exception: unimplemented function dbghelp.dll.SymNextW called in 32-bit code (0x7b43fe5e).
I need to start wine with WINEDLLOVERRIDE="dbgeng=n" to avoid the following failure
DebugCreate failed, HRESULT 0x80004001
What was not tested
any other tools provided by the package (I only used cdb)
|Operating system||Test date||Wine version||Installs?||Runs?||Used|
|Current||openSUSE Leap 42.2 x86_64||Mar 01 2018||3.2||N/A||Yes||Yes||Bronze||Ralf Habacker|
|Show||Arch Linux x86_64||Jul 07 2013||1.6-rc4||Yes||No||Garbage||Lara Maia|
|Show||Fedora 10 x86_64||Apr 12 2009||1.1.19||Yes||No||Garbage||Anastasius Focht|
|Show||Debian GNU/Linux 4.x "Etch"||May 18 2008||1.0-rc1||Yes||Yes||Garbage||an anonymous user|
|Show||Fedora 7||Nov 17 2007||0.9.49.||Yes||No||Garbage||Anastasius Focht|
Use the Debugging Tools for Windows to debug drivers, applications, and services on Windows systems. Debugging Tools for Windows includes WinDbg, a powerful debugger with a graphical interface and a console interface, as well as the console-based debuggers NTSD, CDB, and KD. You can install the Debugging Tools as a standalone component from the Windows SDK:
|Download Debugging Tools from the Windows SDK|
1. Installation prerequisites
will take care of all needed installation prerequisites and work around
.NET Framework 2.0 Redistributables installation is needed as prerequisite:
$ bash winetricks -q dotnet20
The Debugging Tools are listed in two places on the Installation Options screen in the Windows SDK Setup Wizard:
Select the Debugging Tools option under the Common Utilities if you want the x86 version of Debugging Tools and you are installing on an x86 computer. This option automatically detects the CPU architecture of the computer on which you are installing the tools and it is the fastest method of installing the tools.
Select the Debugging Tools option under the Redistributable Packages to download all three versions of Debugging Tools (x86, x64, Itanium).
you select the appropriate Debugging Tools option as described above,
clear the check boxes for the other options so that you do not install
unnecessary items. The Common Utilities option downloads the Debugging Tools into a Debugging Tools for Windows folder under your Program Files folder. The Redistributable Packages option downloads the Debugging Tools to C:\Program Files\Microsoft SDKs\Windows\v7.1\Redist\Debugging Tools for Windows.
For a super fast unattended installation use the following command line (assuming you downloaded the .msi):
$ wine msiexec /i dbg_x86_*.msi /qn INSTDIR="C:\\Program Files\\Debugging Tools for Windows"
If you're using the serial port as transport device you need to make sure Wine knows about the serial port. For instance, if COM1 is mapped to /dev/ttyS0 you'd have a symlink of the form $WINEPREFIX/dosdevices/com1 -> /dev/ttyS0.
Example (replace "ttyS0" with your serial device as seen in Linux):
$ ln -s /dev/ttyS0 ~/.wine/dosdevices/com1
You also need to make sure that you have proper access (write) permissions to the device. Example (replace "ttyS0" with your serial device as seen in Linux):
$ sudo chmod 0777 /dev/ttyS0
Now you should be able to talk over serial transport with target.
The debugger GUI displays an error on startup. The following console messages are an indication of the problem:
fixme:dbgeng:DebugCreate (0x1008514,0x1068f14): stubÂYou need to override "dbgeng" component to use native version:
$ WINEDLLOVERRIDES="dbgeng=n" wine ./windbg.exeÂ