Sparkette Posted January 15, 2013 Report Share Posted January 15, 2013 (edited) I don't know if anyone else has thought of this, but you know that Heep Peek window? It's mainly used outside of NI for getting rid of insane objects, but another thing it tells you is the addresses of VI objects' data. How is this useful? Well, there's this program called Cheat Engine that lets you edit memory. It's designed for games, and that's what it's mainly used for, but it can also be used for this purpose. Here's a screenshot of the Heap Peek window. See those green boxes I added? Those are the addresses in LabVIEW's memory for the objects. Now in Cheat Engine, you'd target LabVIEW.exe by selecting the computer icon in the upper-left corner, and selecting it from the list. The Memory View button will open a window showing a hex dump, and you can right-click that and select Goto Address to browse to one of these addresses. Now you'll see an editable hex dump of this object's data. The bottom of the Heap Peek window shows the order of the values, and it should be relatively simple to look for those values in the hex dump, but I don't know a surefire way to get the address of any item at the bottom. One thing I managed to do by editing the flags value of a Terminal object is make a constant with a terminal that acted as an input rather than an output. Connecting a control to it and running the VI gave me a broken run arrow, with an error saying LabVIEW needs more memory.If you're wondering how to open the Heap Peek window, just add "LVdebugKeys=true" to the end of LabVIEW.ini. Then relaunch LabVIEW and press Ctrl+Shift+D, then Ctrl+Shift+H.It should go without saying that editing these values is purely for exploration purposes, and should NOT be used in any production VIs. This is definitely not supported by NI, and neither they nor I take any responsibility for anything you may mess up by editing these values. Even more so than Generic VIs, SuperSecretPrivateSpecialStuff, XNodes, or any of that stuff. It is very possible to crash LabVIEW and/or corrupt VI's by editing these values. Here's the VI I mentioned. It contains a numeric constant connected to an indicator with a broken wire. Changing the indicator to a control makes the wire no longer broken, and running it gives a memory error. Obviously dangerous in a production environment, and definitely not supported by NI, so be warned! constant to indicator error.vi Edited January 15, 2013 by flarn2006 Quote Link to comment
Sparkette Posted January 15, 2013 Author Report Share Posted January 15, 2013 (edited) I hacked the Bounds property of an Add node...when you move it you can see it's trying to draw a really wide , but it doesn't seem to be erasing properly. Also, the terminals don't scale with it. Edited January 15, 2013 by flarn2006 Quote Link to comment
hooovahh Posted January 15, 2013 Report Share Posted January 15, 2013 I don't know what (if any) value can come from low level editing like this, but I am curious about what things are possible. Like would it be possible to make a 0px splitter bar? Quote Link to comment
Popular Post mje Posted January 15, 2013 Popular Post Report Share Posted January 15, 2013 <sarcasm>What could possibly go wrong with this?</sarcasm> 4 Quote Link to comment
Sparkette Posted January 15, 2013 Author Report Share Posted January 15, 2013 (edited) <sarcasm>What could possibly go wrong with this?</sarcasm> Exactly. This is purely for fun; it would be idiotic to use this in any important VIs. Here's a tip for editing objects: copy something to the clipboard, and then select BDHP Clipboard or FPHP Clipboard on the left (for block diagram or front panel, respectively) and select the object on the right with an asterisk before its name. Edited January 15, 2013 by flarn2006 1 Quote Link to comment
hooovahh Posted January 15, 2013 Report Share Posted January 15, 2013 <sarcasm>What could possibly go wrong with this?</sarcasm> I almost feel like the sarcasm tag wasn't even needed for this one. 1 Quote Link to comment
Michael Aivaliotis Posted January 17, 2013 Report Share Posted January 17, 2013 This is why LAVA exists. Love it! Quote Link to comment
Sparkette Posted January 17, 2013 Author Report Share Posted January 17, 2013 (edited) This is why LAVA exists. Love it! Strange, I thought it existed because of intense heat and pressure underground or something like that. Edited January 17, 2013 by flarn2006 1 Quote Link to comment
curiouspuya Posted January 17, 2013 Report Share Posted January 17, 2013 flarn2006, Can you use this tool to debug LabVIEW2012 and make it better? then you can re-brand it as LabVIEW2013 Quote Link to comment
Sparkette Posted January 17, 2013 Author Report Share Posted January 17, 2013 flarn2006, Can you use this tool to debug LabVIEW2012 and make it better? then you can re-brand it as LabVIEW2013 I don't know what you're getting at. Are you joking? No offense if you're not. Quote Link to comment
hooovahh Posted January 17, 2013 Report Share Posted January 17, 2013 I don't know what you're getting at. Are you joking? No offense if you're not. He's joking (I assume). We really need to implement the sarcasm font Quote Link to comment
curiouspuya Posted January 17, 2013 Report Share Posted January 17, 2013 Yes sorry it was a bad joke Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.