NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I dump all dll calls of function/methods?

I want to do a search of all dlls of a particular name.   I have been able to do this already.  The real information I am interested in, is which function within the DLL is being utilized within my TestStand application.  I can see each individual one by double clicking on each item 1-by-1.  However I really want a report of this information in one easy to read page, which in turn can be dumped to a file.  Can this be done?

0 Kudos
Message 1 of 5
(4,831 Views)

Hi,

You  should be able to do this programatically.

I have tried a simpler method as below :

 

Opened a test sequence which has lots of dll

Then use the find tool ( CTRL+F on the opened sequence)

In the find dialog select abc.dll.

In the options only select values -->string

Click on find button.

 

This will list all the function names of that particular dll in the format : (Seq["MainSequence"].Setup["Simulation Dialog"].TS.SData.Call.LibPath)

The format is subsequence.where called(setup or main or cleanup) [Function name].xxxxxxx

 

Copy all and paste it into a excel sheet.

 

You should get a list of all functions for a given dll.

 

Hope this helps,

 

Ravi

 

0 Kudos
Message 2 of 5
(4,814 Views)

I was able to do a find as you suggested.  However I could not determine how to do a copy all.  There was no menu item for copy when right mouse click was performed, and a <ctl><c> only resulted in the DLL name being copied to paste to Excel or Notepad.

The other thing is the actual DLL function name is not presented in the content of the search.  What I need is in the module tab of the Step Settings view.  It is in the Function field.

 

 

 

0 Kudos
Message 3 of 5
(4,803 Views)

The ability to copy find results was added in TestStand 2014. If you have access to TestStand 2014 you can use it on older sequence files as well.

 

1) Do a find in Names and String values at least and enable Regular Expression searches and use the following regular expression:

{^Func$}|{dllname.dll}

 

^Func$ will match to the property name Func which will cause that property's value to show up in the find results list and dllname.dll will match the value of your dll name. You will then get results where if a function is in the dll it will be next to the dll name match. All function names will show up in the list though so you will have to ignore the ones that aren't next to the dll name. The list will look something like the following:

 

forum.png

 

2) Another alternative is to use the Sequence File Documentation generator tool in the tool menu and search for your dll in there.

 

3) Another alternative is to write a program or sequence that uses the teststand API to search for the dll name at Seq[<sequenceindex>].Main[<stepindex>].TS.SData.Call.LibPath and if it matches give the function name at Seq[<sequenceindex>].Main[<stepindex>].TS.SData.Call.Func (don't forget to search Setup and Cleanup step groups as well).

 

Hope this helps,

-Doug

Message 4 of 5
(4,779 Views)

Hi Doug,

 

Thanks for point out the Regex!

Very useful.

 

Regards

 

Juergen

 

--Signature--
Sessions NI-Week 2017 2016
Feedback or kudos are welcome
0 Kudos
Message 5 of 5
(4,742 Views)