Debugging a dll

Do I need to link my CVI executable to the debug versions of the export libraries when I want to debug a DLL?
CVI generates debug versions of both the dll and the export library when you build the dll in debug mode.
Does CVI automagically switch when debugging the executable and I want to trace into the DLL?
Menchar

Hi olhass,
From what I understand, you're wanting to change the different libraries that are built with the DLL or Executable each time you select to build in release or debug mode. BUT you don't want to have to specify the libraries each time... I guess I'm wondering why you're wanting to do this. The point of building in either debug or release mode is so that you can debug the application before you build the release version. So your build specs would most likely be the same. 
Take a look at these resources and see if they're any help for you:
http://zone.ni.com/reference/en-XX/help/370051M-01/cvi/usermanual/prjbldmenudebdlls/
http://digital.ni.com/public.nsf/allkb/2A11A12C31CABDBF86257B570079D84E?OpenDocument
The second link is a Knowledge Base article related to a switching between the build libraries for 32-bit and 64-bit configurations. So the process might be similar for doing what you're asking about. 
Additionally, you'll typically get a better response from the community when you create new posts on the discussion forums as opposed to commenting on old ones. I'd recommend doing that if my post does not lead you to a solution.
Kelsey W.
National Instruments
Applications Engineer

Similar Messages

  • 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

    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 - ni.com/cvinews

  • Debugging Labwindows dll in teststand with CVI 9.1.1

    Is there a known problem when debugging Labwindows DLL used as Teststand Code module ( using the Labwindows CVI Adapter)?
    My setup includes to powersupplies with IVI instrument drivers ( Agilent 6032A and and E3634 A) a a few other instruments with non-IVI instruments drivers. When start CVI, load the dll project and then start the Teststand Sequence editor as program to be debugged an then step into the C-Code it looks like there is process that watches both powersupplies and tries to reset them again if I access them from my C code through the instrument driver. There is no such effect with the non-IVI instruments and also if I run the code outside the debugger there is no such effect.
    Any Ideas whats going wrong here ?
    Solved!
    Go to Solution.

    some more information. I#ve updated now to CVI 2010 and the effect still exists. To demonstrate it I've attached a NI SPY log. The 6032A lives at GPIB ID 3 the E3634 at GPIB ID 5. I'am running the following code:
    Fmt(resource_id,"GPIB::%d::INSTR",addr_PS_P24V);
    tsErrChk(status = hp6xxxa_init (resource_id, VI_ON, VI_ON, 2, &Instr_Handle_PS_P24V));
    // Export Instrument handle for PS_P24V
    tsErrChk (TS_PropertySetValNumber (testData->seqContextCVI, &errorInfo,
    "FileGlobals.Instr_Handle_PS_P24V", 0x1,
    Instr_Handle_PS_P24V));
    //set limit voltage and current
    // status = hp6xxxa_603xA_soft_limits (Instr_Handle_PS_P24V, 30, 0.5);
    tsErrChk (status = hp6xxxa_603xA_fold (Instr_Handle_PS_P24V, 0));
    //set voltage and current depending on device A/AP 10A B/C 11.5 A
    if ( is_ALA_B_device( testData->seqContextCVI) || is_ALA_C_device( testData->seqContextCVI) )
    tsErrChk (status = hp6xxxa_volt_curr (Instr_Handle_PS_P24V, 26.0, 11.5, 1));
    else
    tsErrChk (status = hp6xxxa_volt_curr (Instr_Handle_PS_P24V, 26.0, 10.0, 1));
    tsErrChk (status = hp6xxxa_delay (Instr_Handle_PS_P24V, 0.500, 1));
    Delay(.2);
    //output off
    tsErrChk (status = hp6xxxa_output_onoff (Instr_Handle_PS_P24V, 0, 1));
    Delay(.2);
    [... later for the E3634]
    // Get GPIB-Adress of PS_P3V3
    tsErrChk(TS_PropertyExists(testData->seqContextCVI, &errorInfo, "FileGlobals.GPIB_ADDR_PS_P3V3", 0, &propertyExists));
    if (propertyExists)
    tsErrChk (TS_PropertyGetValNumber(testData->seqContextCVI, &errorInfo,
    "FileGlobals.GPIB_ADDR_PS_P3V3",
    0, &GPIB_ADDR_PS_P3V3));
    addr_PS_P3V3 = GPIB_ADDR_PS_P3V3;
    #ifndef NO3V3 // NO 3.3V programmable source on TK2
    // Initialize PS_P3V3
    Fmt(resource_id,"GPIB::%d::INSTR",addr_PS_P3V3);
    tsErrChk(hpe363xa_init (resource_id, VI_TRUE, VI_TRUE, &Instr_Handle_PS_P3V3));
    // Export Instrument handle for PS_P3V3
    tsErrChk (TS_PropertySetValNumber (testData->seqContextCVI, &errorInfo,
    "FileGlobals.Instr_Handle_PS_P3V3", 0x1,
    Instr_Handle_PS_P3V3));
    hpe363xa_ConfigureOutputRange (Instr_Handle_PS_P3V3, "",
    HPE363XA_VAL_RANGE_VOLTAGE, 5);
    hpe363xa_ConfigureVoltageLevel (Instr_Handle_PS_P3V3, "", 3.3);
    // Output off
    hpe363xa_ConfigureOutputEnabled (Instr_Handle_PS_P3V3, "", VI_FALSE);
    hpe363xa_ConfigureCurrentLimit (Instr_Handle_PS_P3V3, "",
    HPE363XA_VAL_CURRENT_REGULATE, 0.5);
    hpe363xa_ConfigureOVP (Instr_Handle_PS_P3V3, "", VI_TRUE, 4);
    #endif
    #ifdef TK3 // use E3640 powersupply for TK3
    Fmt(resource_id,"GPIB::%d::INSTR",addr_PS_P3V3);
    tsErrChk(hpe364xa_init (resource_id, VI_TRUE, VI_TRUE, &Instr_Handle_PS_P3V3));
    // Export Instrument handle for PS_P3V3
    tsErrChk (TS_PropertySetValNumber (testData->seqContextCVI, &errorInfo,
    "FileGlobals.Instr_Handle_PS_P3V3", 0x1,
    Instr_Handle_PS_P3V3));
    hpe364xa_ConfigureOutputRange (Instr_Handle_PS_P3V3, "1",
    HPE364XA_VAL_RANGE_VOLTAGE, 5);
    hpe364xa_ConfigureVoltageLevel (Instr_Handle_PS_P3V3, "1", 3.3);
    hpe364xa_ConfigureCurrentLimit (Instr_Handle_PS_P3V3, "1",
    HPE364XA_VAL_CURRENT_REGULATE, 0.5);
    hpe364xa_ConfigureOVP (Instr_Handle_PS_P3V3, "1", VI_TRUE, 4);
    // Output on
    hpe364xa_ConfigureOutputEnabled (Instr_Handle_PS_P3V3, "1", VI_TRUE);
    #endif
    If you look into the Spy Log you will see at #241 the first hit of that strange process, which beginns with a viOpenDefaultRM
    and ends with a viClose at #252
    after issuing an *IDN?, which fails because the 6032A doesn't support *IDN?. Then the first driver call ( init function) can be identified.
    later on , when the code goes to the E3642 using ID5 at #1142 in SPY log you will see that the strange process will finally send a *RST if the *IDN? succeeds.

  • How to debug a dll added in script component in SSIS package

    Hi All,
    I have created a Integration Services project in SQL Server Data tools for VS 2012 and added a SSIS package in it. Added a script task to this SSIS package and a DLL referenced in VSTA project. I am trying to debug the dll code by using the following steps
    but unable to do so. 
    1. Added break points in script task
    2. Started debugging 
    3. Stopped at one of the break points in VSTA projects
    4. Opened new instance of VS 2012 project for DLL library
    5. Added break points in the C# DLL library
    6. Attached this process to the VSTA project
    7. Code is not going through into C# DLL library.
    Any ideas would be appreciated.
    Thanks,
    Prav

    Yes, you can debug from a library (DLL) project, or even console. Just attach the debugger, but the DLL will be part of a different project. Make sure you have the pdb of the DLL, or source code, otherwise it is not possible.
    Arthur My Blog

  • Debug C DLL File

    Hi, everybody.
    I have a project created by Java.
    however,On this project, I should call C DLL File.
    First, I create Java file, and build it to class, and then use
    javah create a .h file.
    Problem:since I should write some c code.So
    I don't know how to debug DLL file from java side?
    because, on java side, I should put dll file to correct path.
    so I have to build DLL file first.I can not step by step debug
    c DLL file?
    who can help me?
    any suggestion would be great appceiated.

    Install MSVC++ 6 or 7.
    You don't have to buy it, the command line tools are available for free.
    Then take a look at:
    http://forum.java.sun.com/thread.jspa?threadID=670308&start=3
    All hail Sun!
    384493

  • Question about debugging a DLL.

    The most common use of LV for us is to provide a GUI that then calls some DLL’s that then interface to our chip. To complicate things there are at least two families of our part and they use two different DLL’s. To further complicate things, the DLL’s also call other DLL’s to complete the interface.  To complicate things even further, no one here really knows the inner workings of these DLL’s. The person who wrote them no longer works here.
    The crux of the issue is as follows: some time ago, I wrote a test suite for one of these families (call it family A). It works fine. My coworker wrote a test suite for the other family (call this family B). His test suite works just fine.
    My coworker is in the process of combining the two test suites into one big test suit. When he runs his big test suite, he gets an error when he tries to access device in family A. The error indicates that an unhandled exception has occurred in the DLL.
    Debugging is complicated by the fact that these test suites are not simple. We wrote a simple test program that simply initializes the family A device and reads a register. This runs without error. What is interesting is that if we run this simple test program, leave it in memory, then run his combined test suite, the combined test suite seems to work. But if we close the simple test program, the combined test suite fails.
    Here is my guess: I think that the DLL’s that are called by the two test suites each call an intermediate DLL (or two) before actually talking to the device. One or more of these intermediate DLL’s have the same name between the two packages but are different in functionality. If we load his combined test suite, the existing code (code that was there before he combined the family A test code) loaded one of these intermediate DLL’s with the correct name but the wrong functionality for family A. Thus, when we run the combined test suite on the family A device, we get an error. But if we run the simple test program first, then it will load the intermediate DLL that has the same name but the correct functionality. If we leave that program open (but not running), when we open the combined test suite, it sees that the intermediate DLL is already loaded and doesn’t do it again. This would leave the correct intermediate DLL in memory. When we run the combined test suite, the correct set of DLL’s is in memory and everything works.
    That is the theory. The trouble is that we don’t know what intermediate DLL’s are being called. We are pretty certain that the top level DLL (the one that is called by our LV code directly) is named differently between the two families and is being correctly pointed to by the Call Library nodes. After that, I have no knowledge or control.
    Now, after all that, my question is: does anyone know of a tool or method that would help us confirm or dispute this theory or otherwise help us debug this?
    thanks,
    Joe

    Have you browsed the VI Hierarchy of your test suites? This will expose any libraries directly referenced by your LabVIEW application.
    Do you have the source code for the DLL?
    Also, check out these two StackOverflow questions:
    http://stackoverflow.com/questions/220515/how-to-intercept-dll-method-calls
    http://stackoverflow.com/questions/3189117/how-to-listen-to-dll-function-calls
    a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"] {color: black;} a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"]:after {content: '';} .jrd-sig {height: 80px; overflow: visible;} .jrd-sig-deploy {float:left; opacity:0.2;} .jrd-sig-img {float:right; opacity:0.2;} .jrd-sig-img:hover {opacity:0.8;} .jrd-sig-deploy:hover {opacity:0.8;}

  • Debugging Jni Dll with VC6

    I'm having problems debugging my JNI DLL hosted by a tomcat application. Starting Tomcat under the vc debugger causes a lot of first chance exceptions (0c0000005) to be thrown by JVM.DLL. This happens before my jni dll is even loaded, here's a short dump :
    Nicht abgefangene Ausnahme in java.exe (JVM.DLL): 0xC0000005: Access Violation.
    Nicht abgefangene Ausnahme in java.exe (JVM.DLL): 0xC0000005: Access Violation.
    Nicht abgefangene Ausnahme in java.exe (JVM.DLL): 0xC0000005: Access Violation.
    Nicht abgefangene Ausnahme in java.exe (JVM.DLL): 0xC0000005: Access Violation.
    Nicht abgefangene Ausnahme in java.exe (JVM.DLL): 0xC0000005: Access Violation.
    Nicht abgefangene Ausnahme in java.exe (JVM.DLL): 0xC0000005: Access Violation.
    Geladene Symbole für "D:\Projekte\Applications\Winlog.web\tomcat\bin\JGimp.dll" überein. <----- my JNI DLL
    Nicht abgefangene Ausnahme in java.exe (JVM.DLL): 0xC0000005: Access Violation.
    Geladene Symbole für "D:\Projekte\Applications\Winlog.web\tomcat\bin\CGimp.dll"
    JVM seems to catch those itself, but needless to say, this is something that shouldn't happen.
    Any ideas ?
    Regards

    805541 wrote:
    Actually, this was a statement waiting for opinions...
    I can use VC2005, VC2008, WinDebug as well, same issue.
    And the real alternative is to have strict layering in the C code itself such that you shouldn't need to debug JNI itself at all.well, that's a strange comment. Is there any valid reason not to debug a jni DLL ?1. Because you can't. Say on a production system with strict install rules.
    2. Because you don't actually need to "debug" the JNI code itself because you maintain a strict boundary layer protocol. Thus bugs can normally only be expected in the functional C code (which allows for testing via other means.)
    3. Because it is difficult to do.
    And my favorite is because I would avoid JNI completely these days and instead use a separate executable that wraps the target functionality. Thus to discrete applications both which can be tested independently.
    When I used JNI in the past I never needed to use a debugger (because I followed item 2 in the above.)
    Other than that I can only see that you have two questions.
    1. You are asking if you are doing something wrong. You might suggest googling.
    2. You know you are not doing anything wrong and there is something 'wrong' with the VM. In that case get use to it. It isn't going away. Or at least not unless you have a sales contract and/or service contract with Sun/Oracle. And if you have that then this is site is not the appropriate way to use that.

  • Debugging a JNI DLL created with Visual C++

    Hello.
    Due to the necessary libraries, I need to create a DLL in Visual C++ to be called from my Java class:
    System.loadLibrary("my_dll_name");
    But I've got a problem: I'm newbie in Visual C++ and I would like to debug the DLL, so when I press F5 (Go for Debug mode), I get the message "Please specify the executable file". Obviously, I've got a DLL, not an .exe or .com file.
    I would be extremely obliged if anybody could share any experience.
    Thank you very much.

    What you nee to do is this:
    Run your java app (in an IDE if poss.) and have it pause at some point (if its a command line app., wait for a key, if its a Swing app, you're ok, just wait for the app. to appear. Now start VC6 and go
    menus:
    Build/StartDebug/Attach to process. Ther should be one process calleed java. Attach to that. If your DLL has debug info in it, you should be able to navigae to the source and set breakpoints etc.
    Alternativly, you could just put OutputDebugString(...) (this is a Win32 function) statements in your DLL and use DBMON.EXE (from the win32 SDK) to look at the output.

  • JNI calls using dll build in DEBUG mode

    I have deployed a filter which loads a dll in the init method. The dll is build in DEBUG mode. The doFilter() method is never called. But If I build the same dll with out DEBUG parameter the doFilter() method is called. what is the issue? I need to debug the dll by attaching it to Visual Studio.
    --JArchie

    > i had a requirement to invoke a RFC Async and recieve
    > the results in my program ...
    That is not possible. When you call an RFC async, you cannot receive the result of the RFC. If you want the results, you have to call the RFC syncronously.
    When you debug, the debugger calls the RFC synchronously, to enable you the debugging of the RFC.
    Regards
    Stefan

  • Using Swing as interface to a dll

    I am trying to use Swing as my cross platform GUI for c++ dll's. Each dll has its own GUI. However, one of my dll's controls what other dlls are loaded. This works fine until I try to load a second instance of the control dll. I get an access violation message when I try to update my gui. If I try to load the two dlls from the c++ everything works fine, but if I load one from the Java GUI I get an null access exception. I'm guessing its caused by one of two problems:
    1) The DLL loading is trashing the executing stack of either the JAVA or the native code.
    2) As the code returns from the constructor call to the newly loaded dll JNI is deleting the interface objects that it is creating on the heap.
    Any ideas would be greatly appreciated.
    Unfortunately I don't get an error log from JAVA.
    VisualStudio gives me:
    Unhandled exception at 0x10014a7d (nativedll.dll) in testjava.exe: 0xC0000005: Access violation reading location 0xfeeefef6.
    The print out reads:
    Creating Java VM
    No. Created VMs 0
    Creating Frame
    Created frame
    Begin master update loop
    Calling Update
    Updated Frame 0
    Creating Java VM
    No. Created VMs 1
    Creating Frame
    Created frame
    Calling Update
    I am using Visual Studio .Net 2003 and jdk 1.4.4, 1.5.0_08 and 1.6.0.
    Main application:
    #include "Windows.h"
    #include "nativelibrary.h"
    #include <stdlib.h>
    #include <string.h>
    #include "jni.h"
    int main(int argc, char* argv[])
           //Load first library
         HMODULE handle = LoadLibrary( "../../nativedll/debug/nativedll.dll");
         nativelibrary* (*funcPtr)();
         funcPtr = (nativelibrary*(*)())GetProcAddress( handle, "createObj");
         nativelibrary* newObj = (*funcPtr)();
            // update each library
         for (int i = 0; i < 10000; i++)
              printf ("Begin master update loop\n");
              void (*funcPtr2)();
              funcPtr2 = (void(*)())GetProcAddress( handle, "update");
              (*funcPtr2)();
              printf ("End master update loop\n");
              Sleep(10);
         // Sleep(100000);
         return 0;
    }Main Library
    #include <iostream>
    #include "jni.h"
    #include "MyFrame.h"
    #include "StaticFunc.h"
    #include <stdlib.h>
    #include <vector>
    #include "Windows.h"
    using namespace std;
    class nativelibrary
    public:
         JavaVM *jvm;
         JNIEnv *env;
         jclass cls;
         jobject myFrame;
         nativelibrary();
         void locupdate();
         static vector<nativelibrary*> objects;
    vector<nativelibrary*> nativelibrary::objects;
    nativelibrary* createObj()
         return new nativelibrary();
    nativelibrary::nativelibrary()
         // JavaVMOption options[0];
         JavaVMInitArgs vm_args;
         memset(&vm_args, 0, sizeof(vm_args));
         vm_args.version = JNI_VERSION_1_4;
         vm_args.nOptions = 0;
         vm_args.ignoreUnrecognized = true;
         vm_args.nOptions = 0;
         // vm_args.options = options;
         JavaVM** jvmBuf = (JavaVM**)malloc(sizeof(JavaVM*));
         jsize buflen = 1;
         jsize nVMs =0;
         // vm_args.options[0].optionString = "-Djava.class.path=../../bin/Debug";
         // Create the Java VM
         printf("Creating Java VM\n");
         jint res = JNI_GetCreatedJavaVMs(jvmBuf, buflen, &nVMs);
         if ( res >= 0)
              printf("No. Created VMs %i\n", nVMs);
              if ( nVMs > 0)
                   jvm = jvmBuf[0];
                   res = jvm->GetEnv((void**)&env,vm_args.version);
              else
                   res = JNI_CreateJavaVM(&jvm,(void**)&env,&vm_args);
         else
              res = JNI_CreateJavaVM(&jvm,(void**)&env,&vm_args);
         cls = env->FindClass("LMyFrame;");     
         if ( cls == 0 ) printf("Cannot find MyFrame");
         jmethodID mid = env->GetMethodID(cls, "<init>", "()V");
         if ( mid == 0 ) printf("Cannot find constructor");
         printf("Creating Frame\n");
         myFrame = env->NewObject(cls, mid);
         if (env->ExceptionOccurred())
              env->ExceptionDescribe();
         printf("Created frame\n");
         objects.push_back(this);
    void nativelibrary::locupdate()
         printf("Calling Update\n");
         jmethodID updatemid = env->GetMethodID(cls, "update", "()V");
         if ( updatemid == 0 ) printf("Cannot find update");
         env->CallVoidMethod(myFrame, updatemid);
         if (env->ExceptionOccurred())
              env->ExceptionDescribe();
    void update()
         vector<nativelibrary*>::iterator it = nativelibrary::objects.begin();
         while (it != nativelibrary::objects.end())
              nativelibrary* lib = *it;
              lib->locupdate();
              it++;
    JNIEXPORT void JNICALL Java_MyFrame__1createObj
      (JNIEnv *, jclass)
         createObj();
    }Java Class (User interface)
    class MyFrame
         static native void _createObj();
         static int creations = 0;
         int framenum;
         MyFrame()
              System.loadLibrary("../../nativedll/Debug/nativedll");
              framenum = creations++;
         void update()
              System.out.println("Updated Frame " + framenum);
              if ( creations == 1)
                   // load dll as a result of the user clicking on the interface
                   createObj();
         public static void createObj()
              _createObj();
    }

    I am trying to use Swing as my cross platform GUI for c++ dll's. Each dll has its own GUI. However, one of my dll's controls what other dlls are loaded. This works fine until I try to load a second instance of the control dll. I get an access violation message when I try to update my gui. If I try to load the two dlls from the c++ everything works fine, but if I load one from the Java GUI I get an null access exception. I'm guessing its caused by one of two problems:
    1) The DLL loading is trashing the executing stack of either the JAVA or the native code.
    2) As the code returns from the constructor call to the newly loaded dll JNI is deleting the interface objects that it is creating on the heap.
    Any ideas would be greatly appreciated.
    Unfortunately I don't get an error log from JAVA.
    VisualStudio gives me:
    Unhandled exception at 0x10014a7d (nativedll.dll) in testjava.exe: 0xC0000005: Access violation reading location 0xfeeefef6.
    The print out reads:
    Creating Java VM
    No. Created VMs 0
    Creating Frame
    Created frame
    Begin master update loop
    Calling Update
    Updated Frame 0
    Creating Java VM
    No. Created VMs 1
    Creating Frame
    Created frame
    Calling Update
    I am using Visual Studio .Net 2003 and jdk 1.4.4, 1.5.0_08 and 1.6.0.
    Main application:
    #include "Windows.h"
    #include "nativelibrary.h"
    #include <stdlib.h>
    #include <string.h>
    #include "jni.h"
    int main(int argc, char* argv[])
           //Load first library
         HMODULE handle = LoadLibrary( "../../nativedll/debug/nativedll.dll");
         nativelibrary* (*funcPtr)();
         funcPtr = (nativelibrary*(*)())GetProcAddress( handle, "createObj");
         nativelibrary* newObj = (*funcPtr)();
            // update each library
         for (int i = 0; i < 10000; i++)
              printf ("Begin master update loop\n");
              void (*funcPtr2)();
              funcPtr2 = (void(*)())GetProcAddress( handle, "update");
              (*funcPtr2)();
              printf ("End master update loop\n");
              Sleep(10);
         // Sleep(100000);
         return 0;
    }Main Library
    #include <iostream>
    #include "jni.h"
    #include "MyFrame.h"
    #include "StaticFunc.h"
    #include <stdlib.h>
    #include <vector>
    #include "Windows.h"
    using namespace std;
    class nativelibrary
    public:
         JavaVM *jvm;
         JNIEnv *env;
         jclass cls;
         jobject myFrame;
         nativelibrary();
         void locupdate();
         static vector<nativelibrary*> objects;
    vector<nativelibrary*> nativelibrary::objects;
    nativelibrary* createObj()
         return new nativelibrary();
    nativelibrary::nativelibrary()
         // JavaVMOption options[0];
         JavaVMInitArgs vm_args;
         memset(&vm_args, 0, sizeof(vm_args));
         vm_args.version = JNI_VERSION_1_4;
         vm_args.nOptions = 0;
         vm_args.ignoreUnrecognized = true;
         vm_args.nOptions = 0;
         // vm_args.options = options;
         JavaVM** jvmBuf = (JavaVM**)malloc(sizeof(JavaVM*));
         jsize buflen = 1;
         jsize nVMs =0;
         // vm_args.options[0].optionString = "-Djava.class.path=../../bin/Debug";
         // Create the Java VM
         printf("Creating Java VM\n");
         jint res = JNI_GetCreatedJavaVMs(jvmBuf, buflen, &nVMs);
         if ( res >= 0)
              printf("No. Created VMs %i\n", nVMs);
              if ( nVMs > 0)
                   jvm = jvmBuf[0];
                   res = jvm->GetEnv((void**)&env,vm_args.version);
              else
                   res = JNI_CreateJavaVM(&jvm,(void**)&env,&vm_args);
         else
              res = JNI_CreateJavaVM(&jvm,(void**)&env,&vm_args);
         cls = env->FindClass("LMyFrame;");     
         if ( cls == 0 ) printf("Cannot find MyFrame");
         jmethodID mid = env->GetMethodID(cls, "<init>", "()V");
         if ( mid == 0 ) printf("Cannot find constructor");
         printf("Creating Frame\n");
         myFrame = env->NewObject(cls, mid);
         if (env->ExceptionOccurred())
              env->ExceptionDescribe();
         printf("Created frame\n");
         objects.push_back(this);
    void nativelibrary::locupdate()
         printf("Calling Update\n");
         jmethodID updatemid = env->GetMethodID(cls, "update", "()V");
         if ( updatemid == 0 ) printf("Cannot find update");
         env->CallVoidMethod(myFrame, updatemid);
         if (env->ExceptionOccurred())
              env->ExceptionDescribe();
    void update()
         vector<nativelibrary*>::iterator it = nativelibrary::objects.begin();
         while (it != nativelibrary::objects.end())
              nativelibrary* lib = *it;
              lib->locupdate();
              it++;
    JNIEXPORT void JNICALL Java_MyFrame__1createObj
      (JNIEnv *, jclass)
         createObj();
    }Java Class (User interface)
    class MyFrame
         static native void _createObj();
         static int creations = 0;
         int framenum;
         MyFrame()
              System.loadLibrary("../../nativedll/Debug/nativedll");
              framenum = creations++;
         void update()
              System.out.println("Updated Frame " + framenum);
              if ( creations == 1)
                   // load dll as a result of the user clicking on the interface
                   createObj();
         public static void createObj()
              _createObj();
    }

  • Can LabVIEW call a DLL built with VS(2005) C++ with /CLR and Without an Entry Point

    My project requires me to convert a C++ program to a DLL and having it called by LabVIEW. Due to the complexity of this C++ program (converted from fortran using f2c -C++ option), it cannot be compiled without using /clr option.  I did build the application standalone (/clr), and it functioned fine.  When I build it into DLL using VS2005, I was forced to use No Entry point option and without using DllMain in the C++ code. Eventually the DLL was built without error.  But after I call it from LabVIEW, I was not getting calculated results as expected.  I added a testing function to the C++ code of the DLL and just try to modify a parameter, it will not, but only return the input numbers.  I was passing data by pointer and not by value, so I expect this parameter output be modified.  I suspect that the DLL didnt get executed at all as it has no entry point specified.
    Am I on the right track to approach this task, or I am heading to totally wrong direction here?   I believe due to the fact that my C++ was from f2c and use vsf2c.lib and so on, the code is managed code, so that a regular DLL cannot be built from it with an entry point. How can LabVIEW call such a DLL? Am I right on that?  I really need your advice here for a right approach to this problem and possible implementation "watch outs"...Thanks!
    Bryan

    Hi...Finally I was able to compile my code with an entry point defined and without using /clr.  I can also call this DLL from LV and got back a variable from a little test function added to the DLL.  But the function that was used for my main application in the DLL crashed LV and I got a pop up box from Microsoft Visual C++ Runtime Library: Runtime Error! "This application has requested the Runtime to terminate it in an unusual way, please contact the application's support team for more information".  In Visual Studio I also got the following message: (I eliminated most of the "No symbols loaded" messages that are not errors but just info.)  I would apprciate if someone can take to look with your more "experienced eyes", many thanks! Bryan.
    'LabVIEW.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\WINDOWS\system32\xpsp2res.dll', Binary was not built with debug information.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\Shared\nicont.dll', Binary was not built with debug information.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\Shared\NICONTDT.dll', Binary was not built with debug information.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\resource\nitaglv.dll', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\WINDOWS\system32\lkbrow.dll', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\WINDOWS\system32\lkrealt.dll', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\resource\Framework\Providers\lvdaq.mxx', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\resource\Framework\Providers\lvdesktop.mxx', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\resource\Framework\Providers\lvfp.mxx', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\WINDOWS\system32\mfc71.dll', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\WINDOWS\system32\MFC71ENU.DLL', Binary was not built with debug information.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\vi.lib\FieldPoint\SubVIs\FPLVMgr.dll', Binary was not built with debug information.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\resource\Framework\Providers\lvfprt.mxx', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\resource\Framework\Providers\LvProjectProxy.mxx', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\resource\Framework\Providers\LvRealTimeCoreProvider.mxx', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\resource\Framework\Providers\MVEProvider.mxx', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\QtCore4.dll', Binary was not built with debug information.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\QtXml4.dll', Binary was not built with debug information.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\QtGui4.dll', Binary was not built with debug information.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\resource\Framework\Providers\mxLvProvider.mxx', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\resource\Framework\Providers\nimxlcpp.mxx', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\WINDOWS\system32\nimxlc.dll', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\resource\Framework\Providers\variable.mxx', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\resource\Framework\lvMax.dll', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\MAX\UI Providers\FieldPoint71.dll', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\resource\MathScriptParser.dll', Binary was not built with debug information.
    'LabVIEW.exe': Loaded 'Z:\bli\development\projects\galfitDLL\Debug\galfitDLL.dll', Symbols loaded.
    'LabVIEW.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700\msvcr80.dll', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\Program Files\National Instruments\LabVIEW 8.5\resource\mesa.dll', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\WINDOWS\system32\mscms.dll', No symbols loaded.
    'LabVIEW.exe': Loaded 'C:\WINDOWS\system32\icm32.dll', No symbols loaded.
    The thread 'Win32 Thread' (0xf94) has exited with code 0 (0x0).
    The thread 'Win32 Thread' (0x90c) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0xfd0) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0x284) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0xdac) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0xa98) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0x528) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0x614) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0xa5c) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0xebc) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0x5cc) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0x700) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0xcf0) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0xc7c) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0x4c8) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0xa4) has exited with code 3 (0x3).
    The thread 'Win32 Thread' (0x52c) has exited with code 3 (0x3).
    The program '[804] LabVIEW.exe: Native' has exited with code 3 (0x3).

  • Converting Java class file to .dll

    Dear all,
    Is there any way to convert a Java class file to a .dll file?
    (Background being that there is a software that only allows callouts to DLLs and the method I have developed is in Java so need to convert it to a .dll)
    Any insight/advice/pointers are most appreciated.
    Thanks much,
    David

    Hi there,
    Yes you can convert a Java Class to DLL file using Microsoft Visual J#.NET (Installation required Visual Studio.NET) you can download it from the microsoft site.
    www.microsoft.com/downloads
    then go for search below in combo box(Visual J#.NET). After installation open new project select class library. write your java code(not fully supported j2se). build your application. All the Java Code is embeded in dll. Found at e.g. C:/JavaToDll/bin/debug/JavaToDll.dll This is a way to convert Java Code to a dll. frankly speaking i do not like .NET (copy of Java Technology must be baned completely).
    Thanks
    Please correct if i am wrong.
    Yahya Kamran (Software Engineer)

  • Exception Occur while Using Microsoft Visual Studio for Debugging JNI app.

    Hi all,
    My JNI program works fine. And also Visual Studio IDE allow to debug C++ program properly.
    But after each instance of program executation(Under Visual Studio IDE) I am getting following log file.
    ================================================================================================================
    # An unexpected error has been detected by Java Runtime Environment:
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d99f278, pid=4800, tid=1196
    # Java VM: Java HotSpot(TM) Client VM (1.6.0_02-b06 mixed mode)
    # Problematic frame:
    # V [jvm.dll+0x12f278]
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    --------------- T H R E A D ---------------
    Current thread (0x00446c00): JavaThread "main" [_thread_in_vm, id=1196]
    siginfo: ExceptionCode=0xc0000005, reading address 0x545c3a49
    Registers:
    EAX=0x545c3a45, EBX=0x00000000, ECX=0x004475c8, EDX=0x01bdf6a8
    ESP=0x01bdf69c, EBP=0x00447594, ESI=0x00446c00, EDI=0x00447594
    EIP=0x6d99f278, EFLAGS=0x00010202
    Top of Stack: (sp=0x01bdf69c)
    0x01bdf69c: 00447598 00446c00 000000b6 004475c8
    0x01bdf6ac: 004475c4 004475c0 004475bc 6d99f3d1
    0x01bdf6bc: 01bdf720 00447594 00447598 00000e00
    0x01bdf6cc: 00446c00 6d92a997 01bdf720 00447594
    0x01bdf6dc: 00447598 00000e00 000000b6 00446c00
    0x01bdf6ec: 00446c00 07e73fd9 01bdf768 000000b6
    0x01bdf6fc: 00446c00 00446c00 01bdf700 01c67cb4
    0x01bdf70c: 01bdf768 01bdf708 00447158 00447160
    Instructions: (pc=0x6d99f278)
    0x6d99f268: 4a 57 8b 7c 24 24 3b fb 75 04 33 c0 eb 05 8b 07
    0x6d99f278: 8b 40 04 50 56 8d 4c 24 38 e8 fa 89 ed ff 8b 4c
    Stack: [0x01b90000,0x01be0000), sp=0x01bdf69c, free space=317k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    V [jvm.dll+0x12f278]
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j FILE_INFO_J.SetOutputFileName(Ljava/lang/String;)V+1
    v ~StubRoutines::call_stub
    j FILE_INFO_J.ReadBinaryFile(Ljava/lang/String;LFILE_INFO_J;)V+0
    j FILE_INFO_J.CopyBinaryFile(Ljava/lang/String;)V+3
    j FILE_INFO_J.main([Ljava/lang/String;)V+38
    v ~StubRoutines::call_stub
    --------------- P R O C E S S ---------------
    Java Threads: ( => current thread )
    0x0be19c00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3888]
    0x0be18000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=3752]
    0x0be0cc00 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=1336]
    0x0be09800 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_in_native, id=4848]
    0x0bdfbc00 JavaThread "Attach Listener" daemon [_thread_blocked, id=4160]
    0x0bdfac00 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=1436]
    0x0bde8000 JavaThread "Finalizer" daemon [_thread_blocked, id=676]
    0x0bde6c00 JavaThread "Reference Handler" daemon [_thread_blocked, id=4516]
    =>0x00446c00 JavaThread "main" [_thread_in_vm, id=1196]
    Other Threads:
    0x0bde3800 VMThread [id=4640]
    0x0be34c00 WatcherThread [id=5112]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    def new generation total 960K, used 17K [0x03cd0000, 0x03dd0000, 0x041b0000)
    eden space 896K, 2% used [0x03cd0000, 0x03cd47c8, 0x03db0000)
    from space 64K, 0% used [0x03dc0000, 0x03dc0000, 0x03dd0000)
    to space 64K, 0% used [0x03db0000, 0x03db0000, 0x03dc0000)
    tenured generation total 11948K, used 7985K [0x041b0000, 0x04d5b000, 0x07cd0000)
    the space 11948K, 66% used [0x041b0000, 0x0497c5b8, 0x0497c600, 0x04d5b000)
    compacting perm gen total 12288K, used 1690K [0x07cd0000, 0x088d0000, 0x0bcd0000)
    the space 12288K, 13% used [0x07cd0000, 0x07e76a30, 0x07e76c00, 0x088d0000)
    No shared spaces configured.
    Dynamic libraries:
    0x00400000 - 0x00423000      C:\Program Files (x86)\Java\jdk1.6.0_02\bin\java.exe
    0x7d600000 - 0x7d6f0000      C:\WINDOWS\system32\ntdll.dll
    0x7d4c0000 - 0x7d5f0000      C:\WINDOWS\syswow64\kernel32.dll
    0x00350000 - 0x003eb000      C:\WINDOWS\syswow64\ADVAPI32.dll
    0x7da20000 - 0x7db00000      C:\WINDOWS\syswow64\RPCRT4.dll
    0x7d8d0000 - 0x7d920000      C:\WINDOWS\syswow64\Secur32.dll
    0x7c340000 - 0x7c396000      C:\Program Files (x86)\Java\jdk1.6.0_02\jre\bin\msvcr71.dll
    0x6d870000 - 0x6dab9000      C:\Program Files (x86)\Java\jdk1.6.0_02\jre\bin\client\jvm.dll
    0x7d930000 - 0x7da00000      C:\WINDOWS\syswow64\USER32.dll
    0x7d800000 - 0x7d890000      C:\WINDOWS\syswow64\GDI32.dll
    0x76aa0000 - 0x76acd000      C:\WINDOWS\system32\WINMM.dll
    0x7dee0000 - 0x7df40000      C:\WINDOWS\system32\IMM32.DLL
    0x6d3c0000 - 0x6d3c8000      C:\Program Files (x86)\Java\jdk1.6.0_02\jre\bin\hpi.dll
    0x76b70000 - 0x76b7b000      C:\WINDOWS\system32\PSAPI.DLL
    0x6d4b0000 - 0x6d4d9000      C:\Program Files (x86)\Java\jdk1.6.0_02\jre\bin\jdwp.dll
    0x6d770000 - 0x6d776000      C:\Program Files (x86)\Java\jdk1.6.0_02\jre\bin\npt.dll
    0x6d820000 - 0x6d82c000      C:\Program Files (x86)\Java\jdk1.6.0_02\jre\bin\verify.dll
    0x6d460000 - 0x6d47f000      C:\Program Files (x86)\Java\jdk1.6.0_02\jre\bin\java.dll
    0x6d860000 - 0x6d86f000      C:\Program Files (x86)\Java\jdk1.6.0_02\jre\bin\zip.dll
    0x6d330000 - 0x6d337000      C:\Program Files (x86)\Java\jdk1.6.0_02\jre\bin\dt_socket.dll
    0x71c00000 - 0x71c17000      C:\WINDOWS\system32\WS2_32.dll
    0x77ba0000 - 0x77bfa000      C:\WINDOWS\syswow64\msvcrt.dll
    0x71bf0000 - 0x71bf8000      C:\WINDOWS\system32\WS2HELP.dll
    0x10000000 - 0x10023000      C:\WINDOWS\system32\nvappfilter.dll
    0x77670000 - 0x777a9000      C:\WINDOWS\syswow64\ole32.dll
    0x0c150000 - 0x0c1db000      C:\WINDOWS\syswow64\OLEAUT32.dll
    0x7db30000 - 0x7dbb0000      C:\WINDOWS\system32\mswsock.dll
    0x5f270000 - 0x5f2ca000      C:\WINDOWS\system32\hnetcfg.dll
    0x71ae0000 - 0x71ae8000      C:\WINDOWS\System32\wshtcpip.dll
    0x7df50000 - 0x7dfc0000      C:\WINDOWS\system32\uxtheme.dll
    0x4b3c0000 - 0x4b410000      C:\WINDOWS\SysWOW64\MSCTF.dll
    0x777b0000 - 0x77833000      C:\WINDOWS\system32\CLBCatQ.DLL
    0x77010000 - 0x770d6000      C:\WINDOWS\system32\COMRes.dll
    0x77b90000 - 0x77b98000      C:\WINDOWS\syswow64\VERSION.dll
    0x0c500000 - 0x0c7c5000      C:\WINDOWS\system32\xpsp2res.dll
    0x75da0000 - 0x75e5d000      C:\WINDOWS\system32\SXS.DLL
    0x0cc60000 - 0x0ccc1000      E:\TI\Assignment_3\JNIFileOperation_C\Debug\JNIFileOperation.dll
    VM Arguments:
    jvm_args: -Xrunjdwp:transport=dt_socket,server=y,address=8888,suspend=n
    java_command: FILE_INFO_J E:\Assignment_3\VC.pdf
    Launcher Type: SUN_STANDARD
    Environment Variables:
    PATH=D:\oracle\app\oracle\product\10.2.0\server\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files (x86)\Subversion\bin;C:\Program Files (x86)\Java\jdk1.6.0_02\bin;C:\Program Files (x86)\Java\jdk1.6.0_02\jre\bin\client;C:\Sun\SDK\bin;��!
    USERNAME=user
    OS=Windows_NT
    PROCESSOR_IDENTIFIER=AMD64 Family 15 Model 47 Stepping 2, AuthenticAMD
    ================================================================================================================
    So please tell anyone could Figure out what is this file all about??
    Is this says to be worry about it .. or just provide information of current system status??
    I will be obliged to you if you would help me
    Thank you.

    This is exactly due to the memory stack.This error is entirely due to the native code.Check the native code,if there are data conversions handle them carefully
    and if you are passing an array see to that the array doesnt oveflow.
    Have some prints in the native code and watch the data transferred

  • Trouble with TestStand running VB DLLs compiles in separate threads

    I have an application that uses DLLs written in VB 6 to manipulate hardware. The hardware is Stepper Motors controlled via the NI CAN bus card, and two instruments controlled via the GPIB PCI card. I have written the two DLLs to use the same NI PCI GPIB and the same NI CAN BUS card. (One instrument per DLL and One Motor per DLL)
    Test stand is then creating the DLLs and running them in separate threads. I have the one DLL Call in a subsequence running as a separate thread, and the other DLL is in the main sequence. I have a GOTO step with preconditions set so that the main sequence only continues after the separate thread in the subsequence is finished.
    The problem I am having is that these D
    LLs work OK when I run them both in the VB debugger. The program even works when I run the main thread in the debugger, and the subsequence is run compiled.
    The problem is, that if I try to run both of these DLLs compiled It seems as if the subsequence DLL never executes.

    To Tuxamation -
    Nothing comes to mind as to why this would happen. VB 6 automation DLLs are used all the time for code modules.
    Note that when MSVB debugs a DLL, it is actually running the DLL as an EXE server within the MSVB process and not in TestStand's process that is using it. I typically found that there is typically a subtle difference in behavior between running the server as an EXE or DLL server.
    A simple way to determine if the TestStand call is reaching your DLL is to place a MsgBox function call in the DLL entry point and immediately return, ie. bybassing your existing code.
    So, if the call is being made to your DLL, you could then enable the Visual Basic project option on the Compile tab, "Create Symbol Debug Info" and recreate your VB DLL.
    You can then attach Microsoft Visual Studio (C++ debugger) to the TestStand process, open the file that contains the entry point in to DLL that TestStand calls, set a breakpoint, and see if the breakpoint is reached.
    Scott Richardson
    Scott Richardson
    National Instruments

  • What is the proper method to access exported functions in a DLL compiled for a CE (Arm) target?

    I have been trying without success to access functions in a DLL that is targetted for Windows CE.  My Labview application target is an Arm-based TouchPanel device.
    Solved!
    Go to Solution.

    Well, you can't load an ARM DLL into a VI that is loaded on Windows. The ARM DLL has a different object format, that the Windows loader doesn't know and even if it did, the Intel CPU can't interpret the ARM opcodes in that DLL.
    In order to be able to load and debug your application on your host system, you need to create a so called stub library. This is a DLL, compiled for the host system, that provides one equally named function for every function in the target DLL, that you want to call. You create such a DLL in Visual Studio, by taking the header file and adding an (empty) function body to each function you want to call, and then compiling this into a DLL.
    Of course you won't be able to debug the DLL call itself on the host system, unless you fill in some sensible functionality into the stub function yourself, but you can load the VI hierarchy and debug other aspects of your application.
    I haven't played with this specific part of mobile development yet but I believe that you can debug the VI in question from your host system when you start it under the mobile target. But you still need to provide the stub DLL, so that LabVIEW can load the VI into memory. The actual execution happens on the target and the data is transfered back to the host  system through a debug channel to be displayed in that VI, but the stub DLL is required so LabVIEW can load the entire VI hierarchy to allow debugging the VI.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

Maybe you are looking for

  • I can't start Xcode 4

    I downloaded Xcode 4 from the mac app store today and I cant open it. Heres my crash log: Process:         Xcode [1293] Path:            /Developer/Applications/Xcode.app/Contents/MacOS/Xcode Identifier:      com.apple.dt.Xcode Version:         4.2.1

  • Icloud storage for more backup

    I bought extra icloud backup storage with credit card, and apple already deducted my credit card meaning already charged money to my card, but i waited about half an hour already, still the storage plan not reflected to have the extra space i bought,

  • Text Save Style in Premiere Elements 13 Mac

    I can't save styles for text in Premiere Elements 13 on my Mac. I can make one, only one, but it won't save the name and lately it hasn't even saved the style. What should I do to fix that?

  • Painting Sharpness in an Adjustment Layer

    Is there a way you can paint in sharpness or blur for that matter? Can you use sharpness as an adjustment layer?

  • I just bought a router WRT54G and a Compact wireless-G

    i just bought a router WRT54G and a  Compact wireless-G and by the time to connect them it seems that both things work correctly but there are two icons that show if u are connect to the internet, so here is the problem one icon says that my connecti