windbg

Visual Studio and Windbg: which one is better to debug large scale managed application

Visual Studio seems is very native to debug the C# project but when the scale is up seems it is not very convenient to debug, for example when the project contains some code that is calling in/out of native code... I wanna to know if there is any evidence that windbg is better over VS.Net when we are debugging large/serious project. An...

[windbg] Failed to load data access DLL, 0x80004005

0:025> !pe Failed to load data access DLL, 0x80004005 Verify that 1) you have a recent build of the debugger (6.2.14 or newer) 2) the file mscordacwks.dll that matches your version of mscorwks.dll is in the version directory 3) or, if you are debugging a dump file, verify that the file ...

Using Windbg to Analyze Dump File: What Path Should I set in Symbol File Path?

I created a dump file after my VS 2008 crashed by using procdump. I suspect that this is a Resharper problem, so I need to generate enough information for Resharper to fix. Now, when I open my Windbg, I need to set Symbol File Path. According to the documentation, I would have to set it as this: SRV*your local folder for symbols*http:/...

WinDbg -- debugging mixed x64 managed/unmanaged code

I'm using WinDbg (Native x64 -- NOT Itanium) to debug an x64 (unmanaged) application that loads both managed an unmanaged DLLs. I'm trying to set a breakpoint in one of the unmanaged DLLs. When the breakpoint is hit and I step through, the instructions displayed are totally different from what they should be. I verified with two differe...

Examine data in windbg when a break on address (ba) breakpoint is hit

I'd like to create a breakpoint such that it will create another one-time breakpoint that will 'dd' a certain memory address when that memory is written to. So when the breakpoint is hit, I'd like to run a command like: ba w4 @ESP+4 /1 ''dd [memory address of this breakpoint]'' Since this breakpoint is being created by another brea...

win32 window in WPF

Recently our application encountered a strange problem. The application has a win32 window in the WPF window, when resize the WPF window, the problem occurred. StackTrace: Exception object: 0000000002ab2c78 Exception type: System.OutOfMemoryException InnerException: <none> StackTrace (generated): SP IP Function 00...

Running ADPlus on w3wp.exe leaves orphan process?

I am troubleshooting an issue where our web application will spike to 95-100% CPU and hang there until it is recycled or the server is restarted. I've been able to get some dumps using ADPlus when this is happening. (-hang option, no other special switches.) That said, I'm noticing something else that is rather odd... whenever we do th...

Capture dump with adplus.vbs - wait for debugger to finish ?

I have a web application, that sometimes hangs. I want to investigate the reason, and I need to get a memory dump of the process, when it hangs. So my idea is to monitor the website, when I am detecting the hang, I want to start a .bat script which captures the memory dump, then runs IISRESET in order to restart so that the site will st...

Scripting WinDBG to take a callstack every time it breaks and then move on (unhandled ex, or the debugee saying debug.break())

We're running an application, happens to be web server we've written, and we're saying some nasty issues only in production, so for about 12 hours we're going to put this under WinDBG and take callstacks every time it breaks. Sometimes it'll break because of an unhandled exception, and sometimes we'll hit an assert, at which point our c...

WinDBG customization: colors?

Hi! Lately I've to do lots of work with WinDBG to eliminate some bugs. Seems to work... kind of. But is there any themeing function? I found some ways to change the font-color. But it doesn't seem to affect the background colors within the main screen. If somebody knew a way, would be great. ;) ...

windbg 6.11 doesnt work properly, and didnt load my pdb file. the old version works

i wrote a masm test program, compiled it with ml /c /coff /Zi then linked with link /debug /subsystem:console /entry:start test.obj kernel32.lib it works after compile/link . now , i just open the windbg 6.11, load the exe then press F10 twice, it doesnt show the source code. and the test.pdb is not loaded. my symbol path include the ...

How to dump only the first object address with !DumpHeap (.load sos)

I habe a few million objects hanging around in memory. I want to find the gcroots for them so I need an object address. !DumpHeap however dumps all objects which is taking longer than i had the patience to wait. How can i limit its output to only one object address? I am using Visual Studio 2008 btw. ...

WinDbg, display Symbol Server paths of loaded modules (even if the symbols did not load)?

Is there a way from WinDbg, without using the DbgEng API, to display the symbol server paths (i.e. PdbSig70 and PdbAge) for all loaded modules? I know that lml does this for the modules whose symbols have loaded. I would like to know these paths for the symbols that did not load so as to diagnose the problem. Anyone know if this is...

Analyzing output of !threadpool and !threads in windbg

I have generated dumps on four servers and am analyzing the output of !threadpool and !threads. I noticed the roughly consistent following output: 0:024> !threadpool CPU utilization 0% Worker Thread: Total: 2 Running: 0 Idle: 2 MaxLimit: 200 MinLimit: 2 Work Request in Queue: 0 Number of Timers: 27 Completion Port Thread:Total: 2 Free: ...

when and how to use windbg kernel debugging

I found Windbg is very useful during development and debugging. but mostly i use windbg in use mode debugging. What kernel debugging can do in windbg? or When should I use windbg's kernel debugging? Is there a toturial about kernel debugging in windbg? Thanks in advance. ...

Given a pointer, how might I find the _HEAP_ENTRY that it belongs to?

I'm learning to use WinDbg and I might be way off track on this, but I assume that if my program isn't using a paged heap that instead of _DPH_HEAP_BLOCK structures that "own" a pointer to my allocation, I would instead have a _HEAP_ENTRY for the allocated data. Given an address to allocated data on the heap, how might I find which _HEA...

PDB file from different versions of Visual Studio

I have an old DLL file which was built with VC++ 6. Now I need to investigate the dump file but I don't have its PDB available. The stacktrace reported by WinDbg is also inaccurate. Is it possible to rebuild the project with later versions of Visual Studio i.e. 2003, 2005, 2008, have the PDB generated, and use this to map addresses to ...

creating a dump file for a managed (.net) application using windbg (or mscordmp)

I'm looking into creating dump files for a managed process. I know that I can use windbg to create a dump file, but I'm wondering if their are any special flags that I should pass to the ".dump" command, given that it's a managed application instead of a native one. a related side question: I've heard of a tool called mscordmp.exe (if...

How to quickly debug when something wrong in code workflow ?

I have frequently encounter the following debugging scenario: Tester provide some reproduce steps for a bug. And to find out where the problem is, I try to play with these reproduce steps to get the minimum necessary reproduce steps. Sometimes, luckily I found that when do a minor change to the steps, the problem is gone. Then the job ...

Why does Loader Snaps not work when attaching to a process?

When I configure GFlags to show loader snaps on an image MYEXE.exe and run the executable from windbg I get loader snaps output in the debug window. But when I use windbg to attach to the process already running I do not, even though I enabled loader snaps before the process was started. How can I get loader snaps to work when attachin...