0

我正在尝试解决我无法访问的机器上的一些问题。这些问题非常断断续续,无法在本地重现。我正在考虑让他们安装 WinDbg,以便他们可以生成进程的堆栈跟踪/转储。这是最好的方法吗?你用什么方法来解决这样的问题?

4

4 回答 4

0

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

于 2009-04-03T18:28:47.103 回答
0

试试副驾驶

于 2009-04-03T18:31:56.800 回答
0

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

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

于 2009-04-03T19:09:35.447 回答
0

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

于 2009-04-15T18:25:12.617 回答