What would be really useful would be a way to have the output printed by distinct cores go to different places. At the moment I get output which continually switches between cores. Is there any way to redirect such output?
OK, I figured the latter one out: I can change rccerun to give pssh the -o <folder> argument, then it makes an output file for each core in the given folder.
I know what you are looking for.
In "main.cpp" just create an ofstream object in this way:
using namespace std;
ofstream fout( "logfile.txt" );
Then you can put debug strings in your program simply writing
fout << "Debug string\n"; fout.flush();
This would create a different log file per each core. The log file will be automatically created in the root home directory on each core. After your program fails or complete successfully, you can see what happened logging into each core:
ssh root@rck03 less logfile.txt
and see where the program stopped.
I have used this method successfully to find a bug in the RCCE library, so I'm sure it works.
You could cross compile gdb and run RCCE Applications under gdb. I do most of my debugging in this manner.
Thank you for your various pointers - this has proved really useful. Sorry a) that I didn't find the posts elsewhere, and b) for taking so long to write this!