远程故障排除

时间:2009-04-03 18:23:00

标签: stack-trace

我正在尝试解决我无法访问的计算机上的某些问题。问题是非常间歇性的,不可能在当地重现。我想让他们安装WinDbg,这样他们就可以生成进程的堆栈跟踪/转储。这是最好的方法吗?你用什么方法来解决这样的问题呢?

4 个答案:

答案 0 :(得分:0)

如果您正在使用Windows系统,则可以要求其他计算机的所有者允许您的计算机远程桌面访问。这样,您可以访问其他系统的所有详细信息,就像它是您自己的系统一样。如果您正在使用Linux计算机,则可以通过ssh客户端访问其他计算机的命令行,其他计算机的所有者必须为其授予用户ssh访问权限并告诉您该用户名和密码。然后通过进一步询问root密码,你可以在其他系统的命令行上工作,这在linux机器上是最强大的。

答案 1 :(得分:0)

尝试copilot

答案 2 :(得分:0)

如果您可以将其构建到您的代码及其Windows中,您可以让它在崩溃时自动生成崩溃转储。为此,您必须编写自己的异常处理程序,并使用SetUnhandledExceptionFilter API函数挂钩它。然后,您的处理程序可以调用MiniDumpWriteDump为您写出一个小型转储。如果用户向您发送迷你转储,您可以将其加载到windbg中并获取堆栈跟踪和其他信息(幸运的话)。

我过去曾成功使用它,但它很棘手。特别是,计算机上编译的符号必须是分布式构建中的符号。

答案 3 :(得分:0)

我最终创建了一个使用cdb.exe(包含在WinDbg中)的.bat文件来生成我需要的转储。它工作得很好,我永远不需要触摸远程机器。更好的是,用户不需要任何技术知识。只需安装WinDbg并运行.bat文件。