Measurement Studio for VC++

cancel
Showing results for 
Search instead for 
Did you mean: 

How can I debug a DLL created with MS Visual Studio C++ using CVI?

I have developed a DLL using MS Visual Studio C++, which is called by an other application written in CVI.
My goal is to debug the DLL written with C++ when is called from CVI.
So far I have some msg popups, but I would like to have more debugging capabilities.

Thanks, Adalbert
0 Kudos
Message 1 of 5
(3,702 Views)
Hello Adi11,

As documented in the CVI Help under "Debugging DLLs": "In the LabWindows/CVI development environment, you can debug only DLLs you create in LabWindows/CVI with the Create Debuggable Dynamic Link Library command. Other development environments cannot debug DLLs you create in LabWindows/CVI."

This information was also mentioned on the following discussion forum.

Thanks.
Wendy L
LabWindows/CVI Developer Newsletter
Message 2 of 5
(3,692 Views)
Build the CVI exe that uses your MS Visual C dll. Then from MSVC, you can specify which application to launch when debugging the DLL. I believe this is one of the project settings. Provide a path to the CVI executable. Then start debugging using MSVC. This will launch the executable (MSVC will warn you that the exe does not have any debug information, since you did not create the executable using MS Visual C), and you can set breakpoints and debug your DLL.

You cannot debug your exe and DLL are the same time in this way, since the debug information for MSVC and CVI is different.
Bilal Durrani
NI
Message 3 of 5
(3,684 Views)
The structure is the following:
1.) TestStand is the highest level, which calls a DLL (A) created in CVI
2.) DLL (A) created in CVI calls a second DLL (B) created in C++

So, the task here is to debug the second DLL (B) created in C++.
I am calling the second DLL (B) from DLL (A). Therefore, I can not set the CVI DLL as an external process.
What could be done here? I believe, I am not the only one doing this 🙂

Thanks, Adalbert
0 Kudos
Message 4 of 5
(3,681 Views)
Eventaully the MSVC DLL will be loaded into TestStands process space (DLLs are loaded In-Process). I would set the external process as TestStand.
The external process needs to be an executable in order for MSVC to be able to launch it.

Message Edited by bilalD on 03-15-2005 03:27 PM

Bilal Durrani
NI
0 Kudos
Message 5 of 5
(3,655 Views)