Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 应如何配置windbg以对Microsoft报表(在Visual Studio 2008中创建)进行故障排除_C#_Visual Studio 2008_Windbg - Fatal编程技术网

C# 应如何配置windbg以对Microsoft报表(在Visual Studio 2008中创建)进行故障排除

C# 应如何配置windbg以对Microsoft报表(在Visual Studio 2008中创建)进行故障排除,c#,visual-studio-2008,windbg,C#,Visual Studio 2008,Windbg,我在Visual Studio的输出窗口中有一个生成错误的报告 在调用ReportViewer实例之前,我已尝试将windbg挂接,以便查看数据的存储区域,特别是数据源中的列名称与记录集中返回的数据 我加载了额外的部件,如下所示: .load C:\debug\psscor2\psscor2\amd64\psscor2.dll .load C:\debug\psscor2\psscor2\amd64\wow64exts.dll 我还为符号设置了路径 以这种方式设置windbg时,我如何定位感兴

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

在调用ReportViewer实例之前,我已尝试将windbg挂接,以便查看数据的存储区域,特别是数据源中的列名称与记录集中返回的数据

我加载了额外的部件,如下所示:

.load C:\debug\psscor2\psscor2\amd64\psscor2.dll
.load C:\debug\psscor2\psscor2\amd64\wow64exts.dll
我还为符号设置了路径


以这种方式设置windbg时,我如何定位感兴趣的ReportViewer线程并查看其结构和数据?

您提出的问题非常笼统,因此很难给出具体的答案,但这里有几点可以帮助您开始

如果这是一个32位进程,您应该获得Windows调试工具的32位版本,并改用它

此外,如果您将psscor2.dll放在sos.dll旁边(即在.NET framework路径中),则只需执行以下操作即可

.loadby psscor2 mscorwks
(如果您使用的是.NET 4或更高版本,请将
mscorwks
替换为
clr

这将从与mscorwks.dll相同的位置获取psscor2。(另外,psscor目前不适用于.NET 4.5,因此在这种情况下,您需要使用sos.dll)

为了检查对象,您需要在堆上找到它们。
!dumpheap-stat
命令将为您提供整个堆的概览。您可以使用
!dumpheap-mt
转储特定类型的对象。您可以使用
找到给定类型的机器翻译!name2ee
命令


一旦在堆上有了各个对象的位置,就可以使用
!执行
(DumpObject)命令检查这些

此外,还应加载调试符号。我使用以下命令:.sympath+SRVc:\tmpy如果您只想指向Microsoft公共符号服务器,可以使用
.symfix
。使用
.sympath
进行更多控制。实际上,对于.Net4,有psscor4: