From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



请问我如何调试由一个DLL Flexible Adapter步骤调用的DLL?



主要软件:
主要软件版本: N/A
主要软件修正版本: N/A
次要软件:

问题: 很多编译器可以生成Windows DLL。TestStand能够通过“DLL Flexible Prototype Adapter”调用任何Windows DLL。这些DLL可以是在LabVIEW、LabWindows/CVI、Visual C++、Visual Basic、Borland等各个环境中编写编译的。请问我如何调试一个用“DLL Flexible Prototype Adapter”调用的DLL?

解答: 如果用户拥有一个DLL的源代码,我们就可以对它进行调试。源代码一般是以.c文件的格式存在的。但是有时这些文件的后缀会根据开发环境的不同而改变。例如,Visual C++将其C文件以后缀.cpp存储。

要调试一个DLL,你必须在原先编译该DLL的开发环境内打开其源代码。下面的两段文字分别论述了对在LabWindows/CVI和Visual C++中编写的DLL的调试步骤。

调试一个LabWindowns/CVI DLL
首先,你要打开该DLL的源程序工程文件(.prj)。在 “Project” 窗口中,选择Run ? Select External Process。你必须在随后跳出的对话框中的"Program Name"一栏指定“TestStand Sequence Editor”的路径。假如你在安装TestStand时使用的是默认值,那此路径就应该是C:\teststand\bin\seqedit.exe。将“Command Line Arguments”置空,并点击“OK”。只要该工程文件已经加载到CVI工程窗口,并且将编译目标设置成DLL,你就会看到“Run”菜单里有一个“Debug SeqEdit.exe...”的选项。选中该项系统会编译该DLL,并启动TestStand Sequence Editor。你现在可以打开调用到此DLL的sequence文件,它会遵循你在CVI源代码里设置好的断点。一旦程序中止在任一断点上,你就可以使用CVI的调试工具来逐步检验代码了。

调试一个Visual C++ DLL
首先,你要在Visual C++中打开编译该DLL的工作区(workspace)。选择 Build ? Execute,环境会提示你指定一个可执行程序的名字。指定“TestStand Sequence Editor”的路径(C:\teststand\bin\seqedit.exe),Visual C++就会用这一程序去调试DLL。你可以在.c文件的适当位置设置断点,然后选择Build ? Start Debug ? Go,Sequence Editor就会启动。在Sequence Editor中打开并执行Sequence文件。当某个TestStand步骤调用到设有断点的DLL时,Visual C++会遵循这些断点,暂停执行。这时你可以使用Visual C++调试器(debugger)单步调试.c文件的代码行。当整个函数调试完毕,执行到DLL的最后一行代码,你可以点击调试器的“Run to Cursor”按钮,回到Sequence Editor。

相关链接:

附件:





报告日期: 06/24/2003
最近更新: 06/24/2003
文档编号: 2YN77CN2