0

我已经向我的客户发送了一份申请。当他单击一个特殊按钮时,整个应用程序崩溃。我已将所有 *.pdb 文件上传到 *.exe 文件的同一文件夹中,并且他安装了 Visual Studio Express 2010。

没有任何解决方案有助于获取崩溃的任何信息。没有“详细信息”按钮或堆栈情况。我无法调试应用程序。只有消息“程序现在将关闭”,没有任何附加说明“故障可能在哪里”。

错误信息 在 Windows 错误报告中记录了文件“应用程序错误 - 我的应用程序 - 模块 MSVCR100_CLR0400.dll。但这个 dll 不是问题。我重新安装了框架,但看不到任何改进。和以前一样的崩溃。

如何在客户端计算机上安装应用程序时对其进行调试?

*

在当前状态下,没有一个答案可以在客户端计算机上使用。我现在在办公室有它并安装了视觉工作室。以这种方式编译时,它可以工作。问题是为什么。*

4

3 回答 3

1

ProcDump可以启动一个进程,然后监视它是否有异常:C:\>procdump -e 1 -f "" -x c:\dumps consume.exe. 您可以自动启动调试器,也可以使用Process Monitor在应用程序崩溃之前捕获最后一次操作和相关堆栈跟踪。

于 2013-01-03T19:26:59.663 回答
0

如果您可以访问客户端的机器,那么您可以从 Microsoft 免费安装“Windows 调试工具”。它包括几个调试器,包括 WinDbg。您可以使用它的 GFlags 工具来设置客户端系统以在应用程序启动时启动您选择的调试器(我推荐 WinDbg,因为它的功能比 Visual Studio 大得多),或者在应用程序退出或崩溃时捕获转储文件。如果您与客户端计算机具有网络连接,则可以使用其调试器远程调试客户端计算机。

使用 GFlags,您可以将客户端的系统设置为捕获任何类型的崩溃或线程退出,从而自动为您创建转储到您为任何应用程序或进程指定的任何文件夹。因此,即使您不能使用客户端机器进行直接调试,您仍然可以轻松地从应用程序崩溃中捕获转储。只需在客户端机器上安装“Windows 调试工具”,使用 GFlags 设置您需要的选项(查看“静默进程退出”选项卡以设置转储文件创建选项),然后收集您的转储文件(如果这是您所追求的)。

您可以在http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx获得“Windows 调试工具”

于 2013-01-03T18:52:14.237 回答
-1

如果由于某种原因您无法在工作站上重现错误并且您想要调试在客户端计算机上运行的应用程序,那么您最好的工具是 Visual Studio 远程调试器。您需要保留.pdb文件才能使其正常工作。

更多信息在这里:

http://msdn.microsoft.com/en-us/library/bt727f1t%28v=vs.100%29.aspx

于 2013-01-03T18:34:36.617 回答