如何编写ADPlus脚本以方便客户使用以诊断崩溃和挂起

时间:2011-03-04 12:17:01

标签: batch-file crash-dumps visual-studio-debugging adplus

对于遇到崩溃或挂起的客户,我们非常喜欢在ADPlus中使用Debugging Tools for Windows。但是,我们遇到的一个大问题是试图解释客户需要输入什么才能运行它。我们会向他们发送一个脚本,但似乎精确的咒语取决于用户是使用32位还是64位以及他们下载的调试工具的版本。

目前令人费解的指示是这样的:

  • 查找调试工具的安装位置 - 可能是c:\program files (x86)\Debugging Tools for windows (x86)c:\program files\Debugging tools for windows (x86)或其他一些变体
  • 如果您运行的是64位应用,那么您需要c:\program files\Debugging tools for windows (x64)而不是
  • 找出您的用户目录,可以是c:\users\jimz:\documents and settings\jim
  • 启动命令提示符并键入:

    <上面的任何路径> \ adplus -hang -pn myprocess.exe -o< your user dir> \ crash_dumps

显然这有很多可能出错的地方,并且不是最好的用户体验,所以我希望能够向用户发送批处理文件或其他可以检测到的脚本:

  • 调试工具的位置
  • 用户的主目录

那么,有没有办法找出调试工具的安装位置?如果该位置存在于注册表中,是否可以在批处理文件中轻松提取?是否也可以从批处理脚本中找到用户的主目录?我的系统(Win7-64)有一个环境变量HOMEPATH。我可以假设存在吗?

1 个答案:

答案 0 :(得分:2)

回答我自己的问题:看起来更简单的方法就是运行ProcDump,因为它有一个挂起模式,可以从任何位置解压缩并运行:

procdump -h -accepteula %HOMEPATH%\Desktop\crashreport.dmp myprocess.exe