如何将WindBG配置为对Microsoft报告的故障排除(在Visual Studio 2008中创建)



i有一个报告在Visual Studio的输出窗口中生成错误。

我已经尝试在调用ReportViewer的实例之前尝试将windbg挂钩,因此我可以看到检查数据的存储区域,尤其是数据源中的列的名称,而不是记录集中返回的数据。

我已经加载了额外的零件,例如:

.load C:debugpsscor2psscor2amd64psscor2.dll
.load C:debugpsscor2psscor2amd64wow64exts.dll

我还为符号设定了路径。

当以这种方式设置windbg时,如何找到感兴趣的报告视图线程并窥视其结构和数据?

您要问一个非常普遍的问题,因此很难给出特定的答案,但是这里有几点可以让您开始。

如果这是一个32位进程,则应获得Windows的32位版本调试工具,然后使用它。

另外,如果您将psscor2.dll沿side sos.dll(即在.NET框架路径中)删除,则可以只做

.loadby psscor2 mscorwks

(如果您在.NET 4或更新的情况下,将mscorwks替换为clr)。

将与mscorwks.dll相同的位置拾取PSSCOR2。(此外,PSSCOR当前不适用于.NET 4.5,因此在这种情况下,您需要使用sos.dll)。

为了检查对象,您需要将它们定位在堆上。!dumpheap -stat命令将为您提供整个堆的概述。您可以使用!dumpheap -mt <MT of type>来转储特定类型的对象。您可以使用!name2ee命令找到给定类型的MT。

堆上有各个对象的位置后,您可以使用!do(dumpObject)命令检查这些命令。

最新更新