Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-debug-dev] CDT Win32 Debugger

Matthew Ballance wrote:

There are two reasons that I'm reluctant to use dbgeng: It's not redistributable and I think it would be more difficult to support debugging both Visual Studio and GCC-compiled applications (as I understand it, dbgeng contains both symbol-table and debugger functionality. It would, for example, be difficult to insert debug info from GCC-compiled objects).

Since dbghelp is redistributable, would specifying a supported version of dbghelp and shipping that version with binary releases of the debugger solve any problems? Can you see problems with this approach (practical or legal)?

I spent a few hours quite some time ago, trying to figure out if it would be possible to support debugging MS-compiled programs. The approach I found most promising was doing what the WinDbg.exe program is doing: calling the NTSD command-line debugger (which is much like gdb, except *horribly* user-unfriendly), sending commands to it, and parsing the output. If you haven't tried using WinDbg, I recommend you play around with it. It's available for download at http://www.microsoft.com/whdc/devtools/debugging/default.mspx. The NTSD debugger should be present in C:\WinNT\System32 (or corresponding), according to documentation; however there could be a problem with version differences. I don't know if NTSD is freely redistributable.

I also believe this approach is similar as to the one used when interfacing gdb, which might be good as well as bad. Unfortunately, there is no MI ("machine interface") mode on NTSD, so the output might be more problematic to parse than the corresponding output from gdb.

There is some documentation on the subject worth reading in the WinDbg help file (Press F1 in WinDbg).

/Magnus

________________________________________________________________________________
BEAWorld 2005: coming to a city near you.  Everything you need for SOA and enterprise infrastructure success.


Register now at http://www.bea.com/4beaworld


London 11-12 Oct| Paris13-14 Oct| Prague18-19 Oct |Tokyo 25-26 Oct| Beijing 7-8 Dec


Back to the top