windbg

Can DebugDiag generate reports with “inclusive size” like Visual Studio 2013

倾然丶 夕夏残阳落幕 提交于 2019-12-02 01:49:20
Visual Studio 2013 can show a column for inclusive size (which includes size of child objects) - http://blogs.msdn.com/b/visualstudioalm/archive/2013/10/16/net-memory-analysis-enhancements-in-visual-studio-2013.aspx DebugDiag's memory analysis reports currently only shows object size without including child objects. Is there a way to make DebugDiag include size of child objects in its report? What do you suggest is a good way to generate such a report for .NET 4.0 since Visual Studio only supports analyzing .NET 4.5 crash dumps DebugDiag DebugDiag 2 has totally been rewritten and is now a set

windbg memory leak investigation - missing heap memory

不羁的心 提交于 2019-12-02 01:44:15
问题 I am investigating a slow memory leak in a windows application using windbg !heap -s gives the following output Heap Flags Reserv Commit Virt Free List UCR Virt Lock Fast (k) (k) (k) (k) length blocks cont. heap ------------------------------------------------------------------------------------- 00000023d62c0000 08000002 1182680 1169996 1181900 15759 2769 78 3 2b63 LFH 00000023d4830000 08008000 64 4 64 2 1 1 0 0 00000023d6290000 08001002 1860 404 1080 43 7 2 0 0 LFH 00000023d6dd0000 08001002

Debugging winform crash - C# [ADPlus + Windbg]

吃可爱长大的小学妹 提交于 2019-12-02 01:10:48
System.AccessViolationException was unhandled Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Source=System.Windows.Forms StackTrace: at System.Windows.Forms.UnsafeNativeMethods.PeekMessage(MSG& msg, HandleRef hwnd, Int32 msgMin, Int32 msgMax, Int32 remove) at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason,

WinDbg: Version mismatch of dbghelp.dll when trying to attach to a process

心不动则不痛 提交于 2019-12-01 23:53:32
Over a year ago I already used WinDbg and DebugDiag to find a memory leak in a JNI native DLL that we use from within Java. Now I am searching for a thread handle leak. I created a memory dump using Process Explorer and tried to analyze it in DebugDiag, but all I get are script errors: I also tried WinDbg, but it is not able to attach to a process anymore. I always get the error message "dbghelp.dll has a version mismatch with the debugger": ("Unbekannter Fehler" means "Unknown error") I uninstalled DebugDiag and the Windows SDK, then downloaded the newest versions and installed Windows SDK 8

Iterating through !DumpHeap output to read value at memory offset

我与影子孤独终老i 提交于 2019-12-01 23:17:05
问题 I'm trying to come up with a WinDbg command line expression that takes the output of the !DumpHeap command and for each address, reads a 64-bit value from offset 0x08 after the address. I think this is possible (not sure about it) but every attempt I made so far fails with some error. I searched a lot but most WinDbg articles show simple examples which I can try but my attempts fail. I have a process dump of an ASP.NET worker process. The process has some memory growth but there's no clear

windbg setting conditional breakpoint

僤鯓⒐⒋嵵緔 提交于 2019-12-01 23:03:57
I want to put a conditional breakpoint in windbg. For example lets say LoadLibrary API. How can I put breakpoint such that it should it whenever user32.dll get loaded. > x kernel32!LoadLibraryW It will give some address [XXXX] Now I can put breakpoint as > bu [XXXX] but this will hit for all calls to LoadLibraryW. Any suggestions. you can not set a conditional breakpoint on a user32.dll since it's being mapped into the address space relatively early and the initial debugger's breakpoint triggers after that (as far as i know). provided you can track the moment user32.dll is loaded, you can

dump net core windbg 安装

泪湿孤枕 提交于 2019-12-01 22:15:54
安装 1.下载工具windbg 地址: https://www.microsoft.com/zh-cn/p/windbg-preview/9pgjgd53tn86?SilentAuth=1&rtc=1&activetab=pivot:overviewtab 2.Dump文件:任务管理;选择w3wp.exe;右键;创建转储文件 WinDbg加载分析步骤 1.打开Dump文件找到上个步骤生成的dmp文件,点击打开,并等待加载完成(即命令行没有显示BUSY字样) 2.打开文件后,进行环境初始化,先创建目录 D:\Symbol,然后在WinDbg里执行如下命令 从微软下载Symbol档,并缓存到D盘的Symbol下: .sympath srv*D:\Symbol*https://msdl.microsoft.com/download/symbols 3.指定显示完整的Symbol下载信息: !sym noisy 自动加载CLR诊断相关模块,如果要分析其它机器的dump文件时,比较好用: 4. .cordll -ve -u -l 需要注意的是:有时加载其它机器的文件还是会无法加载,可以在dmp文件所在的机器上安装windbg进行诊断。 5.加载.net core版的sos扩展插件。输入: .load C:\Program Files\dotnet\shared\Microsoft

How to catch unhandled exception from .Net application with procdump (or similar)?

冷暖自知 提交于 2019-12-01 22:14:31
The long (boring) story Currently i have an application that leads to an exception on only one pc. After some digging around i could encapsulate the problem with a small sample application, but the true reason is still hiding. Due to the fact that on this pc is no Visual Studio installed nor we are able to do so i searched for another solution to find the true reason. In a first approach i stripped down my small application more and more by just carefully reading the exception message, compare to the code and try & error to come to the concrete line of problem. But that wouldn't help to get

How to avoid the DbgCommand command being written to the logfile

≯℡__Kan透↙ 提交于 2019-12-01 21:59:12
问题 I'm having an annoying issue with Pykd.pyd : I'm using it in a script, launching several DbgCommand functions, like: DbgCommand("dt 0x000000eab8748430 CMap<int,int,CUIntArray *,CUIntArray *> m_nCount") This for getting the size of the CMap object. As this is done in a script, using lots and lots of objects, I am using logfiles in Windbg (menu edit , Open/Close Log File ), and here's the catch: When looking at this in Windbg window, I only see the results of the DbgCommand calls, but in the

Iterating through !DumpHeap output to read value at memory offset

江枫思渺然 提交于 2019-12-01 20:53:16
I'm trying to come up with a WinDbg command line expression that takes the output of the !DumpHeap command and for each address, reads a 64-bit value from offset 0x08 after the address. I think this is possible (not sure about it) but every attempt I made so far fails with some error. I searched a lot but most WinDbg articles show simple examples which I can try but my attempts fail. I have a process dump of an ASP.NET worker process. The process has some memory growth but there's no clear offender so I'm trying to list a number of objects that appear many times in memory. I'm using sos.dll