Community

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?

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

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?

> 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

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

> 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.

>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.

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

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!

"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.