利用WinDbg转储文件以解决NI软件中的崩溃问题

更新 Jul 8, 2020

适用于

软件

  • LabVIEW

操作系统

  • Windows

问题详述

我的应用程序使用National Instruments软件时遇到异常和崩溃。 National Instruments已要求WinDbg转储文件(.dmp)进行进一步的故障排除。我如何获得此文件?

解决方案

WinDbg工具可用于在应用程序运行时监视进程异常信息。如果应用程序中发生崩溃,异常或其他严重问题,WinDbg将生成一个转储文件,其中包含有关在问题发生时正在执行的基础代码的信息。此信息对于National Instruments表征问题很有帮助。以下步骤描述了WinDbg配置过程,以及如何获取转储文件。


安装和使用WinDbg
  1. 要获得该工具,请下载以下安装程序之一:
  2. 执行安装程序,仅选中Debugging Tools for Windows 。                                             
 

 
  1. 打开您的应用程序。
  2. 启动WinDbg,例如通过
    • (在Windows 10上)导航到“开始”»“程序”»“ Windows套件”»“ Windows调试工具”»“ WinDbg”
    • (在Windows 7上)导航至“ 开始”»“所有程序”»“ Windows调试工具”»“ WinDbg”
注意:请确保对感兴趣的软件过程使用适当的WinDbg版本。例如,WinDbg(x86)应与LabVIEW 32位一起使用,而WinDbg(x64)应与LabVIEW 64位一起使用。
  1. 在WinDbg中,选择File»Attach to a Process
  2. 从“进程列表”中选择应用程序的进程。选择Sort»By Executable以按字母顺序对流程列表进行排序可以帮助您找到流程。如果您在LabVIEW开发环境中运行应用程序,请选择LabVIEW.exe 单击OK


 
  1. 一个命令行窗口将出现在主WinDbg应用程序中。选择Debug»Go
  2. WinDbg现在正在监视该过程。此时,尝试在您的应用程序中复现崩溃或异常。发生报错或者出现问题后,导航到WinDbg应用程序窗口。
注意:当WinDbg捕获到进程异常时,您的应用程序将显示为无响应,并且将不再允许用户交互。
  1. 通过在WinDbg窗口底部的提示符下键入以下命令来创建转储文件: .dump / ma C:\ [path] \ filename.dmp 。使用您具有写权限的路径,例如本地桌面。
  1. WinDbg将需要一些时间来写入转储文件。之后,在WinDbg窗口中检查任何错误或成功消息。
  1. 关闭WinDbg。这也会自动关闭您的应用程序。

National Instruments可以使用WinDbg创建的转储文件来进一步查明LabVIEW进程异常的来源。由于典型的转储文件大小为几百MB,因此您无法将其附加到技术支持 的电子邮件中。您可以使用任何其他文件传输方法,例如使用NI的ftp服务器如何将文件传输到FTP服务器?

相关信息

对编译的可执行文件进行故障排除
WinDbg还可以用来解决LabVIEW内置可执行文件中出现的异常。与上面示例中将WinDbg附加到LabVIEW.exe进程相反,您可以将调试工具附加到自定义应用程序。就像开发环境一样, NI技术支持 经常可以使用该诊断信息来分析LabVIEW运行系统的区域。

替代方法
Windows 7及更高版本提供了一种挂起而不崩溃的无响应软件替代方法:打开Windows的任务管理器, 右键单击 LabVIEW.exe进程,然后选择创建转储文件以创建此转储文件。
如果使用的是64位操作系统和32位National Instruments软件,则需要启动32位版本的任务管理器,通常存储在以下位置: C:\ Windows \ SysWOW64 \ taskmgr.exe

Windows XP及更早版本
在Windows XP和以前的版本中,Dr.Watson工具还可用于提供补充的崩溃信息。但是,NI建议在大多数情况下使用WinDbg工具。