Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

No export stacks found - what does that mean?

2,536 views
Skip to first unread message

vc6vc6

unread,
Oct 17, 2007, 4:30:10 PM10/17/07
to
I was given a tip to use the !stacks command once I remotely issue a
breakpoint (using WinDbg). While I successfully break, whenever I
issue the command !stacks, I receive the message (in WinDbg): "No
export stacks found".

What does that mean?

And how do I make this work? (i.e. make WinDbg display the stacks of
the currently running threads in the debugged appliation)

Thanks,
Victor

vc6vc6

unread,
Oct 17, 2007, 4:51:19 PM10/17/07
to
Hmmm.... I think that "no export stacks found" means that "no !stacks
extension" found.

But... !stacks is officially documented in the HTML Help file of
"Debugging Tools for Windows".

How do I load the extension that includes !stacks?

Thanks,
Victor

vc6vc6

unread,
Oct 17, 2007, 4:56:43 PM10/17/07
to
OK - found how to load it (for Windows XP target):

0:006> .load Kdexts.dll

Wow! some learning curve here in mastering this debugging technique
(my VC++ 2005 IDE won't do in my particular problem).

Thanks,
Victor

> > Victor- Hide quoted text -
>
> - Show quoted text -


Ivan Brugiolo [MSFT]

unread,
Oct 17, 2007, 4:53:09 PM10/17/07
to
After having set-up symbols appropriately, try `~*kb`.
I seem to remember that `!stacks` is a command in
the sos.dll debugger extension, that may not be loaded by default.

--

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of any included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm


"vc6vc6" <vc6...@gmail.com> wrote in message
news:1192653010....@i13g2000prf.googlegroups.com...

vc6vc6

unread,
Oct 17, 2007, 5:49:40 PM10/17/07
to
On Oct 17, 4:53 pm, "Ivan Brugiolo [MSFT]"

<ivanb...@online.microsoft.com> wrote:
> After having set-up symbols appropriately, try `~*kb`.
> I seem to remember that `!stacks` is a command in
> the sos.dll debugger extension, that may not be loaded by default.

Thank you. The `~*kb` seems to work (displays stack(s) trace),
although I don't really understand how you arrived to this syntax
(`~*kb`).

When I started using this debugger I didn't know that it is so complex
and that there is so much to learn (I was using VC++ 2005 IDE's
debugger till then).

What is the difference between `~*kb` and `!stacks 2` ?

After successfully loading Kdexts.dll, !stacks no longer gives me the
error that started this thread. However, it gives me the following
(disappointing) message:

unable to get nt!MmUserProbeAddress
Unable to get value of PsActiveProcessHead!

Well, I tried to fix it by issuing:

0:001> .symfix SRV**http://msdl.microsoft.com/download/symbol
0:001> .sympath+ D:\myproj\vc_mswuddll
0:001> .reload

Indeed it seems to reload (?):

Reloading current modules
......................................................

But then when I issue !stacks, I receive:

0:001> !stacks 1

**** WARNING loaded *kernel* extension dll for usermode

Proc.Thread .Thread Ticks ThreadState Blocker
unable to get nt!MmUserProbeAddress
Unable to get value of PsActiveProcessHead!

Threads Processed: 0
0:001> !process

**** WARNING loaded *kernel* extension dll for usermode

unable to get nt!MmUserProbeAddress
NT symbols are incorrect, please fix symbols


Why is it so difficult to make a debugging session work and what am I
doing wrong?

Thanks,
Victor


David Welch

unread,
Oct 17, 2007, 7:18:48 PM10/17/07
to
vc6vc6 <vc6...@gmail.com> wrote:
> Why is it so difficult to make a debugging session work and what am I
> doing wrong?
>
!stacks is only available when debugging the kernel not when debugging a user
mode program.

Ivan Brugiolo [MSFT]

unread,
Oct 17, 2007, 10:04:39 PM10/17/07
to
You should read debugger.chm to understand which command
is available in which extension libray, and
to which environment the command is applicable.
for the `~*kb` the sequence of the 4 characters can be decoded as:

<Thread_status><for_each_thread><display-stacK_backtrace><with_parameters>

This is all documented in debugger.chm, even if ti seems black magic at
first.

--

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of any included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm


"vc6vc6" <vc6...@gmail.com> wrote in message

news:1192657780.8...@e9g2000prf.googlegroups.com...

vc6vc6

unread,
Oct 18, 2007, 2:51:35 AM10/18/07
to
On Oct 17, 7:18 pm, David Welch <we...@localhost.localdomain.invalid>
wrote:

David, thank you so much. You saved me a lot of time trying to figure
out why `!stacks` didn't work for me here. I now feel better about
using `~*kb`.

Victor

0 new messages