Debugging of the C++ ICE nodes

Discussions concerning programming of SOFTIMAGE©
jipo
Posts: 13
Joined: 22 Jun 2011, 07:23

Debugging of the C++ ICE nodes

Post by jipo » 19 Sep 2012, 20:03

Hi,

i want to discuss possibilities/workflows in C++ custom ICE development. More sofisticated nodes need clever workflow how to debug the code...

1) is it possible to setup debugger and use standard method using breakpoints? I am relatively skilled C++ developer, but I haven't a lot of exterience with the Visual Studio (and it's debugger)
2) tracing from the ice node? I tried Appliocation().LogMessage() but i don't see my messages in the history,it is strange...
3) other more advanced debugging workflow?


Jirka

User avatar
Mr.Core
Posts: 148
Joined: 10 Aug 2011, 10:35
Skype: giga-core
Location: Kharkov, Ukraine

Re: Debugging of the C++ ICE nodes

Post by Mr.Core » 19 Sep 2012, 20:24

1) Yes, in VS go to Tools->Attach to process and select the XSI process ( you need to compile in the debug mode for using this feature ), then you can start use your node from XSI with all breakpoints
2) >>I tried Appliocation().LogMessage() but i don't see my messages in the history,it is strange...
Its really strange, did you try to explicitly use messagetype enum ? like Application().LogMessage( "some info here", siInfoMsg ) , you can also use siWarningMsg \ siErrorMsg since it is more observably

face
Posts: 57
Joined: 10 Jan 2010, 11:28

Re: Debugging of the C++ ICE nodes

Post by face » 20 Sep 2012, 20:11

When i remember right, LogMessage on output ports only works when the port is connected and ShowValues is active.

face

jipo
Posts: 13
Joined: 22 Jun 2011, 07:23

Re: Debugging of the C++ ICE nodes

Post by jipo » 20 Sep 2012, 21:28

thanks guys,

yes, LogMessage (and ice node itself) is executed only when an output value is used. it is not executed when it is only connected to the "Set Data" node.
"Show value" only forces evaluation.

ICE optimalisations are aggressive:-)