Jump to content

Recommended Posts

Hi all,


This week I am pulling my hair out trying to fix a big project of mine that produces an executable with no errors which then does not run (crashes).  Upon mass compiling the project (waiting 4hrs) I found a bunch of insane objects in various VIs.  An example of one is:


Insane object at FPHP+2C30A9C0, UID 8, in "VdMiyachiLW25AWeldingLaser.lvclass:SendCommand.vi": {tdname } (0x4000): Numeric (DDO )
insanities in FPHP of C:Program Files (x86)National InstrumentsLabVIEW 2012instr.lib_InstrumentDriversVdInstrumentsVdWeldingLaserVdMiyachiLW25AWeldingLaser_classSendCommand.vi

Note the number of the object in bold above.  I then went an started Heap Peek (ctr+shift+d+h) in an attempt to find and clear the insane objects (for more info on heap peek see: http://labviewwiki.org/Insane_object).


The trouble is that I cannot find the offending objects as per their numbers.  They simply do not appear.  So short of deleting all possible controls and indicators and replacing thme I have not find an easier way to sort out my problem.




Does anyone have experience with Heap Peek?  Have you had this problem with it too?  Am I missing something here?


Thanks for any help! 




Link to post
Share on other sites

Thanks Mr Mike,


I have more problems here than I thought!  Now I am finding that I get insane objects in VI's that do not appear in the list.  For example this line:


Insane object at FPHP+33819BE8, UID 43, in "ETA4_CalibrateTube2CameraOffset.vi": {tdname } (0x4000): Type Definition (DDO )

The above VI should appear on the list on the left in the FPHP group but it is not even listed!!!




Any ideas?










It works thanks Mike!!  I just tried your UID suggestion and was able to find the item that way.  I think the wiki page should be updated with this method!






As for my other problem of not finding the VI in the list, it is because I was opening Heap Peek just from the project window.  I found that I actually have to open the offending VI first and then open Heap Peek.  This changes the list that appears.


Thanks again for your help.



Edited by curiouspuya
Link to post
Share on other sites

My guess is that you're looking in the wrong context.  If you scroll to the top of the heap list (the one you show in the image above), you'll see that they're broken up into contexts.  In general, there are two contexts you will encounter: the Main Application Instance and Project contexts.  The Main Application Instance contains VIs opened without a project.  Project contexts have the VIs in a project that are on a specific device (i.e. My Computer or an RT Target).  There are tons of other contexts that handle internal stuff, but your VI shouldn't be in those.  Check all the contexts that sound relevant to your VI.  If that doesn't work, I'll forward this to someone who knows better than I.  I just use Heap Peak -- I've never seen how it works on the inside.

  • Like 1
Link to post
Share on other sites

I also thought it might be a context thing but i painstakingly scrolled through the entire list and never found the vi (unfortunately they didnt provide a "Find" function  :( ) .  What I found instead is that you find the right context by opening the VI thats giving you trouble before opening Heap Peek.


By the way I managed to fix the insane objects in the end and my executable no longer crashes!  :thumbup1: Happy Ending!


thanks again for your help Mike.



Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By curiouspuya
      Here is the scenario:
      You have a heavily nested project and you are debugging your sub-VIs.  You have pressed pause or you are stepping through one of them and you accidentally close your sub-VI.  Meanwhile you have parallel loops and/or active processes going on.
      How do you find where you have paused?  Breakpoints are easier to find because you can use the breakpoint manager.  But I havent found a menu item that says "Show Pause Location" or something equivalent. 
      Has anyone been frustrated by this before?  Is there a simple answer or method that I have missed?
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.