Is it possible to step into a CVI dll when called by TestStand?

As the question says: "Is it possible to step into a CVI dll when called by TestStand?"
I am sure Ray F. may have a few tricks up his sleeves...  Hope you see this post, Ray!
I compiled a dll using CVI.  The dll is called as a test by TestStand.
I do have an "exe" version of the code that I use for debug with a testbed, but the behaviour is not the same as testing the actual target while running TestStand.  My goal is to get as close as possible to the real events.
Thanks,
JLV

Sorry about that,
There are two ways as I was saying:
1. You can configure the CVI adapter to Execute Steps in a External Instance of CVI (requires CVI 6.0 or greater).
Only go to Configure->Adapters and select the LabWindows CVI adapter and click on configure and select the corresponding option.
After that set a break point in the step that you want to debug.
An external instance of CVI will be launched where you can set break points and step into the code.
2. From CVI Specifying an external process:
In CVI go to Run Specify External Process and enter the seqEdit.exe as the program name (you have to browse to the location <TestStand>\Bin\SeqEdit.exe).
As the argument you enter the name of the sequence file you want to debug.
Now just select Run->Debug SeqEdit.Exe
The Sequence Edtior will be launched and you can set break point in your CVI code and step into it when the step is executed.
Check the Using LabWindows/CVI with TestStand reference manual for more information.
I hope it helps you to get started.
Regards.

Similar Messages

  • CVI crashes when calling function from external DLL

    I'm calling a CVI library from Test Stand 4.1.  In that CVI library I load an external DLL (using LoadLibrary) and create a few function pointers (using GetProcAddress).  The DLL loads successfully, and I get addresses for all of the imported functions.  
    However, when I one of the functions is called CVI crashes (Test Stand says it lost the ActiveX connection to CVI) when executing in an external CVI instance.  If executed in the Test Stand process I get a system level exception.
    If I step through the code in CVI, it hangs after trying to step into or over the call to the function pointer from the external DLL.
    I am able to call the functions in a small test project I created in CVI, however when integrating it into an existing test library and calling it through Test Stand it fails.
    Any ideas on how to go about debugging this issue?

    Have you tried calling into the dll that CVI calls directly from TestStand?  I am curious to know if this also crashes.
    I am also curious to know if there are any path references in the dll that is called by the CVI program.  If so are they relative, or absolute paths?
    I ask because one of the possibilities is that relative paths are being used to specify a path from the location of the code that is called, and they are not working because the current working directory is being specified by TestStand, and the paths are not relative to the working directory given by TestStand.
    Jensen
    National Instruments
    Applications Engineer

  • Is it possible to merge into a family plan when I just started my own?

    So I recently, as in Feb 2013, joined the Verizon family and got my own plan and iPhone 4S. When I was in my Verizon store, not once did they mention about the family plan and how you can have up to 10 devices on it... My boyfriend's family has Verizon and they brought this up to me. Is it possible for me to somehow merge my account into theirs so that I'm not paying as much each month??
    I was also told that because I just signed a new two year contract, that it wouldn't let me do that... but under their "10 devices family plan," I would still be in that same contract so I don't really see much of an issue other than how much I'd be paying monthly. BUT I'm a full time college student and anything that I can do to lower my monthly phone bill would be awesome.

    Yes, the account owner of their plan should be able to do an assumption of liability (AOL) to bring your line into their account.  They would be assuming liability for your new 2 year contract.  You and their account owner can together call *611 and get this done.

  • Can't close CVI panels in DLL-Detach when called from Teststand

    Hello,
    i've got a problem with Teststand calling a DLL produced with CVI.
    1. I use to DLL Attach and Detach calls to load or discard the panels. The attach part works fine, but when the TS sequence ends and i try to unload the module, the "DiscardPanel" function returns a error -129 "operation can only be performed in the thread it was created".
    If i call the same dll from a CVI executable, this doesn't happen.
    2. Additionally, the first time i run the sequence file the panel doesn't correctly quit and return to Teststand, so the whole thing hangs.
    Does anybody have an idea, what is going wrong?
    See attached files:
    ErrorOnDllDetach.seq --> Call DLL from TS
    \bin\usePanelsDll_dbg.exe --> Call DLL
    from CVI
    Attachments:
    NoUnloadOfDll.zip ‏326 KB

    Maik -
    After some more investigation, because of limitations in Microsoft's operating system, developers and CVI are limited in what they can do in DLLMain. Basically load and unload CVI panels in DLLMain just does not work well if the DLL is loaded and unloaded arbitrarily like it is in TestStand.
    One option is to never unload the panels and let CVI and the OS clean up the panels when the process terminates. You can do this by adding an extra reference to your DLL using LoadModule. You would basically prevent TestStand from unloading the DLL, so any dialog would stay around for as long as you like.
    The best way to have the dialog go away when TestStand is no longer using it is to associate your dial
    og lifetime with the execution that is displaying it. You load the panel either when the first call is made into the DLL or by an explicit call to a "Display" function exported from the DLL. Then have the dialog monitor for when the execution is terminated or stopped. This works because TestStand does not attempt to unload the DLL until the execution that is using it completes.
    I have attached an example DLL and sequence that does just this. It uses a default pool thread to display a panel and that thread waits for either an explicit call to a "Discard" function exported from the DLL or or if the execution stops.
    Hope this helps...
    Scott Richardson (NI)
    Scott Richardson
    National Instruments
    Attachments:
    DLLProject.zip ‏344 KB

  • Can't step into CVI step that calls LabVIEW DLL?

    Windows 2000 SP1
    TestStand 2.01f
    LabWindows CVI 6.0
    LabVIEW 6.1 Runtime
    We have a framework based on TestStand and CVI. A customer has supplied us
    with a DLL written in LabVIEW 6.1 and packaged with the Application Builder
    that we need to call from a CVI test library DLL. They say they can't
    supply us with a non-LabVIEW implementation. We installed the LabVIEW 6.1
    run-time. We added code to the CVI test library to dynamically load and
    unload the LabVIEW DLL using LoadLibrary and FreeLibrary. LoadLibrary is
    called in a function in the MainSequence Startup step group, FreeLibrary is
    called in a function in the MainSequence Cleanup step group.
    Things run as expected when the CVI DLL is built as Release or Debug and the
    CVI
    adapter is configured to run in-process.
    However, if we try to debug CVI DLL by building it as Debug and configuring
    the CVI adapter to run in an external instance of CVI, things hang the first
    time we try to step into, or run, a CVI test library step that calls one of
    the functions in the LabVIEW DLL. On the Applications tab in Task Manager,
    the item named LabVIEW is marked as 'Not Responding'. The only way to
    recover is to kill the LabVIEW process, which takes down CVI and TestStand
    with it. If none of the LabVIEW DLL functions are called, no problems are
    seen (no hang).
    I assume the problem has something to do with the library getting mapped to
    the wrong process space (TestStand v. the external CVI instance). Is there
    any way to solve this problem? Any ideas or suggestions would be
    appreciated.
    Joe

    > Out of curiousity, what happens if you attempt to debug your DLL from
    > CVI? For example, configure TestStand to run its steps 'inProcess'...
    > but then close the TestStand application and in CVI, configure it so
    > that the Specified External Process dialog points to TestStand's
    > SeqEdit.exe (CVI launches TestStand when debugging the project). Once
    > TestStand is running, run your test and set your break points as
    > usual, you should be able to step into the CVI code if nothing else.
    > If not, I would be interested in hearing what problems you encounter.
    When 'debugging' SeqEdit from CVI, we experienced no lock up.
    Thanks for this suggestion. Debugging from CVI is a workaround for now,
    though not highly desirable as it is reverse from normal debug proc
    edure
    (user can't step into CVI from TestStand). Still would like to know if
    'normal' debugging of this problem is possible.
    > The nice thing about debugging directly from Labwindows/CVI while
    > TestStand runs 'inprocess' is that you can avoid some library linking
    > errors, which may be the source of the troubles you are seeing.
    The problem appears to be general to LabVIEW DLLs called from an external
    instance of CVI under TestStand. We were able to reproduce the problem with
    a simple LabVIEW VI compiled to a DLL, then called from a simple CVI DLL
    under TestStand. We will package up some sample code and submit it to NI
    tonight or tomorrow.
    Thanks for you help.
    Joe

  • Debugger question: how to step into a message call

    Hi everyone:
    If my understanding of the workings of the following objective C statement is correct,
    NSString *s = [NSString stringWithFormat:@"Hello %@", @"World"];
    what happens there is that it sends the "stringWithFormat" message to the "NSString" class. Correct?
    If so, is it possible to step into that message with a debugger? (For some reason when I try to do it, the debugger simply steps over it.)

    You don't have the source code to NSString so all you would see is machine code.

  • Is it possible to get into the IC using the SALESPRO business role?

    Is it possible to get into the Interaction centre when using the SALESPRO business role?.
    If so, how is this done.
    I know using specific IC* business roles, like IC_AGENT, you are thrown straight into the IC, but I can't see how you can get into it via the SALESPRO business role, which I assume you should be able to do.
    Jason

    Please check
    Using Kerberos Authentication on SAP NetWeaver AS Java - User Authentication and Single Sign-On - SAP Library (NW7.3)
    Using Kerberos Authentication for Single Sign-On - User Authentication and Single Sign-On - SAP Library (NW7.0)

  • How to Load a Panel during run time from a CVI dll

    Hi,
    I want to execute/load a panel during runtime, from a CVI dll function.
    my CVI dll "test.dll" has "READ_PAN" function. while executing this function from a Test Stand Action step i want Configure Panel (from FR_GUI.uir) to pop up.
    can you please suggest me how can i do this from my "test" project of CVI.
    int __stdcall __export RunFRConfig (CAObjHandle step,CAObjHandle thisContext)
        ERRORINFO errorInfo;
        char errMsg[1024];
        int pan;
        pan = LoadPanelEx (0, "FR_GUI.uir", READ_PAN, __CVIUserHInst);
        DisplayPanel (pan);
        RunUserInterface();
        DiscardPanel (pan);
        return 0;
            Error:
       // sprintf(FinalErrMsg,"Configure Error: %s",errMsg);  
        return -1;

    Thanks for ur reply.
    Hello Asad,
    It is possible to maximize the run time previewer when calling reports from forms. U need to set a parameter named 'MAXIMIZE' to do that.
    I m attaching a code sample for u. This is working in my production environment.
    DECLARE
    pl_id ParamList;
    BEGIN
         pl_id := Get_Parameter_List('setProposal');
         IF NOT Id_Null(pl_id) THEN
              Destroy_Parameter_List( pl_id );
         END IF;
         pl_id := Create_Parameter_List('setProposal');
    // This parameter is set to hide parameter form at run time     
         Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');
    // This parameter is used to maximize previewer window at run // time
         Add_Parameter(pl_id, 'MAXIMIZE', TEXT_PARAMETER, 'YES');
    Run_Product(REPORTS, 'sample.rep', SYNCHRONOUS, RUNTIME,
    FILESYSTEM, pl_id, NULL);
    END;
    Feel free to contact me if u need anymore assistance.
    Take care and bye

  • How to get parameter information on DLL function call (CVI) in TestStand?

    Hi,
     I wrote a simple Instrument Driver in CVI, and it has 3 parameters Voltage, Current, Channel.
    I made a DLL in order to call this function in TestStand as an action.
    That works fine, the only problem I have is that it shows my function as DC_Conf (arg1, arg2, arg 3) and I only get the type information like double double int.
    I do not get the parameter names Voltage, Current, Channel...
    How can I get this information to be displayed in TestStand so I know which parameter arg 1-3 is Voltage,Current,Channel in case I forgot?
    or 
    Is there a way to display the help text of the driver in TestStand?
    I tried clicking on the (?) button next to the function call but it did not do anything...
    My TestStand is version 4.1
    Thanks...Ness

    Ness,
    When TestStand populates the parameter information, it does so by looking at the dll's type library.  CVI automatically creates a type library for a dll based on the function's signature, which can include the parameter names.  However, if the function prototype does not contain variable names, then CVI cannot include names in the type library.
    You can define your own type library to directly control the information available to TestStand from your dll.  If you want to define your own type library, you can do so using a .fp file.  This will allow you to use complex data types (such as structs), and to rename your parameters.
    Here's a KnowlegeBase describing the process: Embedding Type Libraries in a LabWindows/CVI DLL for use in TestStand
    Either solution proposed here will work, and they each have tradeoffs:
    You can definte the variable names in the function prototype.  This keeps the functions self-documenting, and is the easiest solution.
    You can create a .fp file and define your own type library.  This allows you the most control over exactly what you will see in TestStand, but requires you to create a new file, and to keep that new file up to date if you make any changes to your source code.
    Message Edited by Josh W. on 12-11-2009 01:08 PM
    Josh W.
    Certified TestStand Architect
    Formerly blue

  • Can't step into code in another file

    Hi,
    When debugging my application in CVI 2013, if I set a breakpoint before a call to a function in another C file, the Step Into command just steps over the function call, even though the source for both is my own and both files are included in the project. If I set a breakpoint in the function in the second file, the application doesn't stop at all, preventing me from seeing what is happening.
    I have been able to do this in the past and now it is no longer functioning, what could I have possibly changed?
    Thanks
    Francois Campbell

    I also very recently encountered such a situation.
    I don't know why I couldn't remember it before.
    CVI was not respecting my breakpoints at all.
    It did not even do "break at first step".
    Then it turned out that, it was becasue the files were on a network drive, not stored locally in my hard disk.
    This also surprised me, because I had all the access rights on that network folder.
    The only solution was to copy the project to a local folder, then it started to break appropriately.
    I do not think this is expected behavior.
    Maybe I should create e new thread for this issue of mine.
    All the best,
    S. Eren BALCI
    www.aselsan.com.tr

  • Stepping into Java Beans from JSP

    I am trying to figure out how to step into the Java Source code for my beans that are used in my JSP pages. I need to be able to debug them by stepping into them, using break points, etc.
    I have Nitro installed and a sample JSP page with the import to my test Java Bean class. What I did was create two projects in my work space. One as a Web project application and one as a Java project. I referenced and opened both projects. Everything compiles fine and the syntax is correct.
    The problem is I can not make the link for importing the class.
    I get this error: Class com.BrianTest.MyBean not found in import com.BrianTest.MyBean
    Anyone got a clue or a good example? I did try and add the class path and I tried to put it in a Jar file and attach the source to the Jar, but same problem.
    Thanks :?

    Stepping into jsp:useBean is not possible, but you can step-into jsp getter & setter tag.
    Since you are using java bean from a dependent project you need to configure your server with DevLoader.
    And currently only Tomcat server can be configured with Sysdeo Devloader to handle this situation
    Download Sysdeo DevLoader for Tomcat from http://www.sysdeo.com/eclipse/tomcatPlugin.html
    NOTE: If the project is self sufficient and not dependent on other projects/locations for classess/libraries then NitroX picks up all the libraries & classes present within default WEB-INF/lib & WEB-INF/classes respectively. And in this case you need not modify server configuration.
    Sysdeo DevLoader is to allow your web project to use libraries/classes from dependent projects. All you need to do is extract DevLoader.zip present within tomcatPluginV3.zip inside your Tomcat/server/classes folder.
    For more information about DevLoader please refer to http://www.sysdeo.com/eclipse/readmeDevLoader.html
    This will solve your problem and you should be able to run/debug your application. And most important make sure you have the correct NitroX build that supports Sysdeo DevLoader, refer http://www.m7.com/whatsnew.htm document against your build id (Help > About NitroX > NitroX Icon)

  • Step into step over step out disabled while running

    Hello all,
    Step into, Step over and Step out are getting disabled whenever I run the sequence. Also Run Button is getting disabled after the execution breaks at break point.
    Its very difficult to debug the code because of these isssues.
    Is that anything to do with custom process model ? I use a third party process model. But in other PCs which are also using the same process model dont have these issues.

    Hey sridar,
    Does this happen with a simple sequence file? For example, if you create a new sequence file with only a Message Popup step, set a breakpoint, and then try to debug, does it work properly or do you have the debugging buttons grayed out in this case too?
    This is most likely happening because your sequence has multiple threads and not all of the threads are being suspended when you hit the breakpoint. For example, if you have a LabVIEW VI executing in a different thread when the breakpoint is hit, you will not be able to debug unless the LabVIEW thread suspends. Here is a KnowledgeBase article describing this case: http://digital.ni.com/public.nsf/allkb/46D1E157756C37E686256CED0075E156?OpenDocument
    It is possible that it is being caused by the process model, but I'd start by trying a very simple sequence file. If that works properly, we know it's something in your larger sequence file. If the simple file also does not allow debugging, we might look into the process model for the issue.
    Let us know if you have any further questions!
    Daniel E.
    TestStand Product Support Engineer
    National Instruments

  • How to make Form builder 10g step into libraries *.pll while remote debug

    How to make Form builder 10g step into libraries *.pll while remote debug. It attaches fine and goes through code located in form but skips pll's. In this case I am interested in debuging CUSTOM.pll. How to step into pll's and is it possible at all?

    Is the library in the same directory or within your FORMS_PATH? Note that the runtime setting in the default.env doesn't work for the builder.
    cheers

  • Step by step in cvi dll

    I want to run step by step in a function which is in a cvi dll. Is it possible ? I have done a cvi debug dll which I used in my TestStand project. But I do not manage to run step by step inside the function in dll.
    Solved!
    Go to Solution.

    You have to configure the CVI Adapter to execute steps "in an external process of CVI". Then, you can debug the CVI DLL function by stepping through it.
    Norbert 
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Step into and other debugging items are grayed out in ISE debug menu in PS4.0

    hi friends
    i don't know why things go wrong for me
    it's about 3 hours that i am googling & studying documents on how to use Debugger in PS 4.0 ISE
    the problem is i open my script in ISE, but when i open debug menu, step over,
    step into, step out, stop debugger and many other items on debug menu in ISE are
    gray out.
    ( my script contains about 20 commands)
    i need to run my script in line by line method (step into)
    but its gray out  :-(
    i studies many pages regarding powershell debugger but none of the mentioned first enabling debugger ( i think maybe it's off by default)
    am i on the right way ? is debugger feature by default off in PS 4.0 ISE? is this what debugging items are gray out?
    i looked for a cmdet to enumerate the current state of ISE debugger (on or off) but unfortunately didn't find anything.
    another confusion: is it necessary to run the entire script at least one time so that step into feature be available to use?
    is yes, that's too bad. i want first examine my script line by line
    any help please
    thanks in advanced

    Unless you have break points inserted and the script actually running, then those options will be greyed out. You need to first insert your break point, and then run the script. Once the code where the break point is going to be executed, the script
    will stop there allowing you to step into or out of
    If you find that my post has answered your question, please mark it as the answer. If you find my post to be helpful in anyway, please click vote as helpful.
    Don't Retire Technet
    Hi clayman
    thanks for your answer. useful
    after examining many different states finally i discovered the Hidden rule which i didn't find this on the net.
    the rule is:
    when we want to examine our entire script line by line ( step into our script), we must create a line breakpoint on the
    first line of the script &
    then press F5, now the items on the debug menu are available such as step into
    i wrote this for people who encounter such problem but after lots of search on the internet, they find no document describing this
    please mark as answer if this helps you

Maybe you are looking for

  • FIELD VALUE IN ALV HEADER

    Hi friends, I make one header alv ok I want and take one variable count in my program so I want to display its value in ALV HEADER Total Target Qty: Total EMP. Efficiency  Total Machine Effi.  I take may header like this and pass thre text here.ok No

  • Delivery document posting-urgent.

    hi, After posting delivery document, the status of this delivery document shows pending,(traffic light shows in yellow), now my issue after processing this delivery document i want to change the status icon to green. how  i can do this, please help m

  • Can I use my Us iPhone 5s in Europe with a prepaid sim card while on vacation?

    Can I use my Us iPhone 5s in Europe with a prepaid sim card while on vacation?

  • How do I get rid of this folder to nowhere?

    So in finder I have had this folder that goes no where... it once went somewhere but somehow it got disconnected and now I cannot remove it from my finder sidebar. In fact my computer acts like it doesn't even exist. Help? Here's what happens when I

  • Runtime error "1101" invalid resource value.

    Hi there I am getting this error message "runtime error "1101"  invalid resource value" while I am trying to run my vba to populate my "Work" field. It was working fine for other files.But as soon as I started a new file with same columns and fields