Thread overview | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
December 06, 2005 WinDbg can't see D variables? | ||||
---|---|---|---|---|
| ||||
I am trying to get WinDbg to work with D on WinXP - and so far, I can get WinDbg to track the current line in the source - but I can't get WinDbg to see any variables. All it seems to see are functions. Is there some way to get WinDbg to see D variables? |
December 06, 2005 Re: WinDbg can't see D variables? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jon L | Jon L wrote:
> I am trying to get WinDbg to work with D on WinXP - and so far, I can get WinDbg
> to track the current line in the source - but I can't get WinDbg to see any
> variables. All it seems to see are functions. Is there some way to get WinDbg
> to see D variables?
>
>
Common problem. I'm experiencing the same.
WinDbg uses .PDB (program database AFAIK) files to grab symbol information. This PDB format is a proprietary Microsoft format and obviously is not documented for compiler writers (unless you sell your soul and purchase some sort of license that only big developer corporations can shell out enough cash for). Then again, I could be making up that part in the parens =P.
When I ran a simple PDB under WinHex I found the file is extremely bloated, redundant, and padded. This makes it very difficult to figure out what data is real and what is extra useless garbage. Theoretically, one could grab a copy of Visual Studio 6.0 (or newer perhaps) and compile an extremely minimalistic C program and inspect the PDB's contents.
I recall many Windows debugging tutorials on WinDBG saying that you can download symbol tables from Microsoft. I wonder if this HTTP-transfered format is different from the regular PDB files? Ah, time to go sniff some packets... =P
|
December 06, 2005 Re: WinDbg can't see D variables? | ||||
---|---|---|---|---|
| ||||
Posted in reply to James Dunne | James Dunne wrote:
> Jon L wrote:
>
>> I am trying to get WinDbg to work with D on WinXP - and so far, I can get WinDbg
>> to track the current line in the source - but I can't get WinDbg to see any
>> variables. All it seems to see are functions. Is there some way to get WinDbg
>> to see D variables?
>>
>>
>
> Common problem. I'm experiencing the same.
>
> WinDbg uses .PDB (program database AFAIK) files to grab symbol information. This PDB format is a proprietary Microsoft format and obviously is not documented for compiler writers (unless you sell your soul and purchase some sort of license that only big developer corporations can shell out enough cash for). Then again, I could be making up that part in the parens =P.
>
> When I ran a simple PDB under WinHex I found the file is extremely bloated, redundant, and padded. This makes it very difficult to figure out what data is real and what is extra useless garbage. Theoretically, one could grab a copy of Visual Studio 6.0 (or newer perhaps) and compile an extremely minimalistic C program and inspect the PDB's contents.
>
> I recall many Windows debugging tutorials on WinDBG saying that you can download symbol tables from Microsoft. I wonder if this HTTP-transfered format is different from the regular PDB files? Ah, time to go sniff some packets... =P
Are there any other debuggers for windows which can be used? and of course see D's variables?
|
December 06, 2005 Re: WinDbg can't see D variables? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Hasan Aljudy | > Are there any other debuggers for windows which can be used? and of > course see D's variables? there's one being developed on dsource (http://www.dsource.org/projects/dbug). you can get the svn repository too, but there aren't any official downloads available yet. Not sure how far along it is any more. I haven't checked up on it in a week or so. Until we can use that for general debugging, I'm afraid we have to do it the old fashioned way... Chris |
December 06, 2005 Re: WinDbg can't see D variables? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris Lajoie | Chris Lajoie wrote:
>> Are there any other debuggers for windows which can be used? and of
>> course see D's variables?
>
> there's one being developed on dsource (http://www.dsource.org/projects/dbug). you can get the svn repository too, but there aren't any official downloads available yet. Not sure how far along it is any more. I haven't checked up on it in a week or so.
> Until we can use that for general debugging, I'm afraid we have to do it the old fashioned way...
According to Walter, the version of WinDbg shipped with the DMC CD can see variables. I think what happened is that MS has moved to a new, proprietary, debug file format and they haven't bothered to continue supporting the old version with their tools. Darn shame if you ask me.
Sean
|
December 06, 2005 Re: WinDbg can't see D variables? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Hasan Aljudy |
> Are there any other debuggers for windows which can be used? and of course see D's variables?
I've used the debugger from MSVC 6 for a while. It works great, including variables. Arrays show up as 64-bit ints though, so you'll have to cast a little to get the length / ptr. Check the wiki for more info (EditorSupport if I remember correctly).
L.
|
December 06, 2005 Re: WinDbg can't see D variables? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly |
>According to Walter, the version of WinDbg shipped with the DMC CD can see variables. I think what happened is that MS has moved to a new, proprietary, debug file format and they haven't bothered to continue supporting the old version with their tools. Darn shame if you ask me.
Can someone tell me what version of WinDbg that is? I'm willing to go back to that one and drop the newer one if that older one does indeed support D variables.
|
December 06, 2005 Re: WinDbg can't see D variables? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jon L | Jon L wrote:
>> According to Walter, the version of WinDbg shipped with the DMC CD can see variables. I think what happened is that MS has moved to a new, proprietary, debug file format and they haven't bothered to continue supporting the old version with their tools. Darn shame if you ask me.
>
> Can someone tell me what version of WinDbg that is? I'm willing to go back to
> that one and drop the newer one if that older one does indeed support D
> variables.
It's no longer available on the Microsoft website, as I've tried the oldest one they have available. I think the file date is sometime in the mid 90's as people have reported that Visual Studio 6 seems to work as well. But I'm not going to reinstall VC6 just to debug D apps--I'd much rather get my hands on a good copy of WinDbg. Recently, I've been considering just buying a copy of the DMC CD to get it (and the library source code would be a nice perk).
Sean
|
December 06, 2005 Re: WinDbg can't see D variables? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lionello Lunesu | Lionello Lunesu wrote:
>>Are there any other debuggers for windows which can be used? and of
>>course see D's variables?
>
>
> I've used the debugger from MSVC 6 for a while. It works great, including variables. Arrays show up as 64-bit ints though, so you'll have to cast a little to get the length / ptr. Check the wiki for more info (EditorSupport if I remember correctly).
>
> L.
>
>
But I think MSVC uses windbg (or cdb) internally.
It must be like what Sean said, the older versions of windbg can see D's variables!
|
December 06, 2005 Re: WinDbg can't see D variables? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | "Sean Kelly" <sean@f4.ca> wrote in message news:dn4r8p$1tqh$1@digitaldaemon.com... > Jon L wrote: >>> According to Walter, the version of WinDbg shipped with the DMC CD can see variables. I think what happened is that MS has moved to a new, proprietary, debug file format and they haven't bothered to continue supporting the old version with their tools. Darn shame if you ask me. >> >> Can someone tell me what version of WinDbg that is? I'm willing to go >> back to >> that one and drop the newer one if that older one does indeed support D >> variables. > > It's no longer available on the Microsoft website, as I've tried the oldest one they have available. I think the file date is sometime in the mid 90's as people have reported that Visual Studio 6 seems to work as well. But I'm not going to reinstall VC6 just to debug D apps--I'd much rather get my hands on a good copy of WinDbg. Recently, I've been considering just buying a copy of the DMC CD to get it (and the library source code would be a nice perk). > > > Sean The DMC CD is nifty and has lots of small command-line goodies like a disassembler and such (I think...). I don't remember the exact WinDbg version on there but it tends to crash alot and I only use it when I want to see some variables - it feels like it's written for Windows 3.1 or something. As for VC 6 - it's what I use all the time for C/C++ stuff at home. Now that I think about it I don't remember having success using it to debug dmd files but I don't remember trying very hard. |
Copyright © 1999-2021 by the D Language Foundation