News

Re: Symbol server for silverlight apps not downloading source

microsoft.public.windbg - 1 hour 44 min ago
Hello.
What does !lmi SilverlightApplication1" show you? It will say if the pdb is
source-indexed or not.
.pat styles [microsoft]
I have followed
[link]
successfully in setting up a symbol server. I have tested it with windows
forms apps and everything works just as stated. The source is retrived from
Categories: WinDbg

Software Generalist Blog Revived

This year I revived one of my side blogs by transforming the failed book stack reading approach into a reading notebook that will eventually be a part of planned software engineering notebooks with the first one to be published in Q2 or so (ISBN-13: 978-1-906717-14-8):

An Attempt to Revive this Blog

Yesterday and today I did some reading as well:

Reading Notebook: 05-Jan-09

Reading Notebook: 06-Jan-09

More books will be added to this notebook soon.

- Dmitry Vostokov @ DumpAnalysis.org -

Symbol server for silverlight apps not downloading source

microsoft.public.windbg - 6 hours 21 min ago
I have followed
[link]
successfully in setting up a symbol server. I have tested it with windows
forms apps and everything works just as stated. The source is retrived from
perforce when I attach and set break points.
However, when I do the same process with a silverlight app (through
Categories: WinDbg

Bugtation No.78

“For it is not enough to have a good” debugger: “one must use it well.”

René Descartes, Discourse on the Method

- Dmitry Vostokov @ DumpAnalysis.org -

Re: Spaces in source paths

microsoft.public.windbg - Mon, 01/05/2009 - 19:47
Thanks Pat.
Categories: WinDbg

Re: NTREL202.ntdev.corp.microsoft.com?

microsoft.public.windbg - Mon, 01/05/2009 - 19:46
Ok thanks, by the way, I think the offending product is Windows Live
Messenger Beta.
Categories: WinDbg

Re: Using c++ string and iostream library when developing WinDbg e

microsoft.public.windbg - Mon, 01/05/2009 - 12:50
Did you try adding to Sources file the following line(s):
USE_STL=1
USE_NATIVE_EH=1
USE_MSVCRT=1
Categories: WinDbg

Crash Dump Analysis Patterns (Part 13f)

Sometimes there is not enough physical memory and the system experiences the so called disk or page file thrashing trying to resolve page faults. This can be seen in some memory dumps coming from frozen environments showing signs of double traps in running threads, the first one is a normal memory access fault (blue) and the other is forced NMI bugcheck to save a memory dump (red):

1: kd> .bugcheck
Bugcheck code 00000080
Arguments 004f4454 00000000 00000000 00000000

1: kd> !thread
THREAD 88939b20  Cid 360.378  Teb: 7ffdb000  Win32Thread: a20a7ac8 RUNNING
IRP List:
    86be9e68: (0006,0100) Flags: 00000070  Mdl: 00000000
    88939e68: (0006,0100) Flags: 00000070  Mdl: 00000000
    88939128: (0006,0100) Flags: 00000070  Mdl: 00000000
Not impersonating
Owning Process 889456e0
Wait Start TickCount    2357431       Elapsed Ticks: 9
Context Switch Count    18267                   LargeStack
UserTime                  0:00:08.0218
KernelTime                0:12:28.0109
Start Address KERNEL32!BaseThreadStartThunk (0x7c57b740)
Win32 Start Address msafd!SockAsyncThread (0x74fd3113)
Stack Init bef9e000 Current bef9db60 Base bef9e000 Limit bef9b000 Call 0
Priority 11 BasePriority 11 PriorityDecrement 0 DecrementCount 0

ChildEBP RetAddr
8904aff0 80469211 hal!HalHandleNMI+0×193
8904aff0 80438621 nt!KiTrap02+0×41

bef9dc10 8043799a nt!MiTrimWorkingSet+0xa7
bef9dc38 804378ec nt!MiDoReplacement+0×2e
bef9dc50 804453cf nt!MiLocateAndReserveWsle+0×1e
bef9dc68 804444e0 nt!MiAddValidPageToWorkingSet+0×89
bef9dc8c 804443a2 nt!MiCompleteProtoPteFault+0xf6
bef9dcb8 804436e8 nt!MiResolveProtoPteFault+0×160
bef9dcfc 8044ccd0 nt!MiDispatchFault+0xfc
bef9dd4c 8046b063 nt!MmAccessFault+0xd1c
bef9dd4c 74fd31e0 nt!KiTrap0E+0xc7

016effb4 7c57b3bc msafd!SockAsyncThread+0xcd
016effec 00000000 KERNEL32!BaseThreadStart+0×52

If we check virtual memory stats we see the low number of available pages:

1: kd> !vm

*** Virtual Memory Usage ***
 Physical Memory:   524165   ( 2096660 Kb)
 Page File: \??\C:\pagefile.sys
    Current:   4190208Kb Free Space:   3298704Kb
    Minimum:   4190208Kb Maximum:      4190208Kb
 Page File: \??\E:\pagefile.sys
    Current:   4190208Kb Free Space:   3339860Kb
    Minimum:   4190208Kb Maximum:      4190208Kb
 Available Pages:     1098   (    4392 Kb)
 ResAvail Pages:    410646   ( 1642584 Kb)
 Modified Pages:    282384   ( 1129536 Kb)
 NonPagedPool Usage: 10046   (   40184 Kb)
 NonPagedPool Max:   68609   (  274436 Kb)
 PagedPool 0 Usage:  15391   (   61564 Kb)
 PagedPool 1 Usage:   1906   (    7624 Kb)
 PagedPool 2 Usage:   1925   (    7700 Kb)
 PagedPool 3 Usage:   1937   (    7748 Kb)
 PagedPool 4 Usage:   1892   (    7568 Kb)
 PagedPool Usage:    23051   (   92204 Kb)
 PagedPool Maximum:  87040   (  348160 Kb)
 Shared Commit:      16867   (   67468 Kb)
 Special Pool:           0   (       0 Kb)
 Free System PTEs:   65288   (  261152 Kb)
 Shared Process:     38655   (  154620 Kb)
 PagedPool Commit:   23051   (   92204 Kb)
 Driver Commit:       1060   (    4240 Kb)
 Committed pages:  1049592   ( 4198368 Kb)
 Commit limit:     2580155   (10320620 Kb)
[…]

In W2K dumps we can also see locking on a working set resource (I guess the name from Ws shortcut here):

 1: kd> !locks
**** DUMP OF ALL RESOURCE OBJECTS ****

Resource @ nt!MmSystemWsLock (0×804869c0)    Exclusively owned
    Contention Count = 33083
    NumberOfExclusiveWaiters = 237
[…]

and huge number of threads in Ready state for every thread priority.

Looking at the current process owning the running thread shows the large number of page faults and increased kernel CPU time compared to time spent in user mode:

1: kd> !process 889456e0
PROCESS 889456e0  SessionId: 0  Cid: 0360    Peb: 7ffdf000  ParentCid: 01a8
    DirBase: 102af000  ObjectTable: 88945c08  TableSize: 622.
    Image: Application.EXE
    VadRoot 88944468 Clone 0 Private 838. Modified 30691412. Locked 188.
    DeviceMap 89049288
    Token                             e28db550
    ElapsedTime                       10:13:30.0684
    UserTime                          0:00:12.0578
    KernelTime                        0:12:38.0625
    QuotaPoolUsage[PagedPool]         31568
    QuotaPoolUsage[NonPagedPool]      68266
    Working Set Sizes (now,min,max)  (49, 50, 345) (196KB, 200KB, 1380KB)
    PeakWorkingSetSize                1956
    VirtualSize                       131 Mb
    PeakVirtualSize                   131 Mb
    PageFaultCount                    46180598
    MemoryPriority                    BACKGROUND
    BasePriority                      10
    CommitCharge                      1247

- Dmitry Vostokov @ DumpAnalysis.org -

Plastic Job Offer

Publishing my old CV and salary expectations damaged my memory and yesterday night I experienced a dream where a courier arrived to my office. I opened a packet and saw an A4 plastic card with a cover displaying a VIP job offer from one company the name of which I cannot disclose here. The plastic job offer card also had 2 buttons: accept an offer and decline an offer. To the left of the buttons there was a picture of a tiger: I used to play with 2 x 2 tiger puzzle with my 2 year old son…

- Dmitry Vostokov @ DumpAnalysis.org -

Journey to the Centre of Pagefile

I made a beautiful 100 x 18400 slice of pagefile.bmp generated by Dump2Picture using ImageMagick (1.5Mb JPEG image):

Wider 450 x 18400 slice (7Mb JPEG image) is available for viewing here: 

Page File Image Slice (7Mb JPEG)

- Dmitry Vostokov @ DumpAnalysis.org -

DML in WdbgExt - possible?

microsoft.public.windbg - Sun, 01/04/2009 - 23:16
Is it possible to print DML from a WdbgExt extension?
Thanks,
-- pa
Categories: WinDbg

Visualizing Secondary Storage

I was curious about how page file looks like when represented as a bitmap picture image like I previously did with memory dumps and I expected it to look like a picture of a complete memory dump due to its purpose as a backup to physical memory. It looks similar indeed. Here is a picture of a 1.3Gb pagefile.sys from my home computer after running Vista for last 2 weeks, generated by Dump2Picture tool and resized from 18400 x 18400 32-bit bitmap by ImageMagick:

   

- Dmitry Vostokov @ DumpAnalysis.org -

Re: Using c++ string and iostream library when developing WinDbg extension.

microsoft.public.windbg - Sun, 01/04/2009 - 16:49
Hi,
I do have
using namespace std;
But this results to the following error
- error C1083: Cannot open include file: 'string' No such file or
directory
When I delete #include <string> and leave just "using namespace std;"
I get the following error:
- error C2871: 'std' : a namespace with this name does not exist
Categories: WinDbg

Re: Using c++ string and iostream library when developing WinDbg extension.

microsoft.public.windbg - Sun, 01/04/2009 - 12:37
I'm able to use the string successfully in my windbg extension.
plz chk if you have done following:
using namespace std;
Categories: WinDbg

Re: how to display a plain ansi string

microsoft.public.windbg - Sun, 01/04/2009 - 09:00
"da" command can't work?
Categories: WinDbg

Using c++ string and iostream library when developing WinDbg extension.

microsoft.public.windbg - Sat, 01/03/2009 - 17:58
Hi, I am developing one simple extension for WinDbg. In one of my
classes I wanted to use the string c++ class but the build failed
because the the <string> header was not found and the std namespace
was not found.
The error messages
error C1083: Cannot open include file: 'string' No such file or
directory
Categories: WinDbg

Re: Missing symbols on the MS symbol server

microsoft.public.windbg - Sat, 01/03/2009 - 11:43
The versions of mfc40.dll and mfc40u.dll shipped with Win2000
(4.1.0.6140) do not have symbols.
Categories: WinDbg

Re: Missing symbols on the MS symbol server

microsoft.public.windbg - Sat, 01/03/2009 - 09:34
> Also, the SP1 version of msvcr90d.dll has only public symbols,
while
Also, version 4.20.9870.0 of msxml4.dll do not have symbols.
Categories: WinDbg

Re: Missing symbols on the MS symbol server

microsoft.public.windbg - Sat, 01/03/2009 - 09:29
Also, the SP1 version of msvcr90d.dll has only public symbols, while
the original version has full private symbols.
Categories: WinDbg
Syndicate content