18得票4回答
WPF中的win32窗口

我们的应用程序最近遇到了一个奇怪的问题。 该应用程序在WPF窗口中有一个win32窗口,在调整WPF窗口大小时,问题出现了。 堆栈跟踪:Exception object: 0000000002ab2c78 Exception type: System.OutOfMemoryExceptio...

18得票2回答
使用WinDbg将托管Byte[]的内容写入文件

我有一份来自生产服务器的崩溃转储,显示出了OutOfMemoryException。这里不涉及异常本身。 我碰巧运行了!dso来查看堆栈对象:0:042> !dso OS Thread Id: 0x1014 (42) ESP/REG Object Name 246eeb24 109...

18得票1回答
如何为.NET获取一个良好的崩溃转储文件?

我捕获了在64位Windows操作系统上运行的32位.NET应用程序的崩溃转储。在分析过程中,有人发现我有一个64位的转储,并告诉我由于错误的位数无法分析此转储。 当使用Windows任务管理器创建转储时,我并不知道自己在做错了什么。这对32位操作系统总是有效的。 如何为.NET创建正确位...

17得票4回答
WinDbg和SoS,如何打印/转储一个大字符串?

我正在使用带有SoS扩展的WinDbg调试来自生产服务器的hangdump。 其中一个堆栈中有一个字符串参数,我需要知道它的值。 但是,它是一个相当大的字符串,并且当我使用时,WinDbg不会将其打印出来。这是的输出:0:036> !do 00000001b30d8668 Name: S...

17得票4回答
我能否从WinDbg运行.NET垃圾回收?

我正在研究为什么一个托管进程使用了大量的内存。是否有一种方法可以在WinDbg中运行GC.Collect(3),以便我可以专注于实际的内存分配?

17得票1回答
错误:找不到符号文件。windbg.exe

我从http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx下载了符号包(Windows 7 RTM x86零售符号,所有语言),但仍然出现相同的错误!已经完成.sympath,但仍然无法工作。.sympath C:\ in...

17得票5回答
在64位机器上捕获的32位进程调试转储信息

我最近从客户那里收到了一个64位的崩溃转储文件。 我们的进程都是32位的,但客户的机器正在运行x64 Server 2008。 Visual Studio(包括2008和2010 Express版)告诉我必须使用64位版本的MSVSMON.EXE,但我没有64位机器,因此无法这样做。 我相...

17得票4回答
从Linux调试Windows内核

我曾经使用VirtualKD、WinDBG和一台虚拟机来调试Windows内核。 最近,我得到了一台Linux机器,现在我想知道:当你的主机无法运行VirtualKD / WinDBG*时,调试Windows内核的最简单方法是什么? 我猜解决方案需要两个虚拟机,但我宁愿在我的实际机器上托管...

16得票2回答
为什么Windbg命令以"."或"!"开头?

“.”和“!”有什么区别吗?

16得票4回答
32位与64位CLR对象大小的理解

我正在尝试理解32位和64位处理器之间的对象大小差异。假设我有一个简单的类。class MyClass { int x; int y; } 在32位机器上,整数的大小为4个字节。如果将Syncblock(另外4个字节)添加到其中,则对象大小将为12个字节。...