debug_tutorial

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
debug_tutorial [2013/08/02 02:13]
bogert [Logging debugger output with selective-debug] Implement the section
debug_tutorial [2013/08/02 02:18] (current)
bogert [Debugger: strace] Explain that strace is explained by reading the ltrace section
Line 565: Line 565:
 [[http://en.wikipedia.org/wiki/System_call|System functions]] are functions which are implemented in the Linux kernel, as opposed to library functions which are implemented in [[http://en.wikipedia.org/wiki/User_space|user space]]. They are typically basic low level functions such as file access, multithreading and networking. [[http://en.wikipedia.org/wiki/System_call|System functions]] are functions which are implemented in the Linux kernel, as opposed to library functions which are implemented in [[http://en.wikipedia.org/wiki/User_space|user space]]. They are typically basic low level functions such as file access, multithreading and networking.
  
-^ Lesson 12 ^+^ Lesson 13 ^
 | To use strace, use the **- - strace** switch of [[selective-debug]]:\\ \\ <code bash> | To use strace, use the **- - strace** switch of [[selective-debug]]:\\ \\ <code bash>
 bsub […] ./selective-debug --strace ./debug-tutorial</code> | bsub […] ./selective-debug --strace ./debug-tutorial</code> |
  
 +What you have learned about ltrace also applies to strace. Therefore, please make sure to read the [[debug_tutorial#Debugger: ltrace|ltrace section]] in depth.
 ===== Logging debugger output with selective-debug ===== ===== Logging debugger output with selective-debug =====
 As you have seen, ltrace and strace are non-interactive debuggers. Such debuggers usually produce a large amount of output which is difficult to follow live.\\ As you have seen, ltrace and strace are non-interactive debuggers. Such debuggers usually produce a large amount of output which is difficult to follow live.\\
 Therefore, we now show you how to use [[selective-debug]] to log the output of the debugger to one file per reach OpenMPI rank. Therefore, we now show you how to use [[selective-debug]] to log the output of the debugger to one file per reach OpenMPI rank.
  
-There are two switches of [[selective-debug]] which can be used to control logging: +^ Lesson 14 ^ 
-<code>+There are two switches of [[selective-debug]] which can be used to control logging:\\ \\ <code>
 --log        If you are using OpenMPI and want to clone the output of the debugger to a per-rank log file. --log        If you are using OpenMPI and want to clone the output of the debugger to a per-rank log file.
              Filename will be "selective-debug-rankN.log". The file will be appended, not overwritten.              Filename will be "selective-debug-rankN.log". The file will be appended, not overwritten.
Line 580: Line 581:
  
 --log-quiet  Only log debugger output to files, do not show it on the terminal. --log-quiet  Only log debugger output to files, do not show it on the terminal.
-</code>+</code> |
  
 The possibilities offered by those switches will be explained in the following sections: The possibilities offered by those switches will be explained in the following sections:
  • debug_tutorial.1375402439.txt.gz
  • Last modified: 2013/08/02 02:13
  • by bogert