| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
| <html lang="en"> |
| |
| <head> |
| <meta http-equiv="Content-Language" content="en-us"> |
| <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> |
| <meta name="ProgId" content="FrontPage.Editor.Document"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>Debugging a program</title> |
| <link rel="stylesheet" type="text/css" href="../help.css"> |
| </head> |
| |
| <body> |
| |
| <div role="main"><h1>Debugging a program</h1> |
| |
| <p>To debug a program, a debug launch configuration is used. The debug configuration contains information |
| such as the executable being debugged, how to run the executable, and parameters for the debugger itself (in this |
| case: gdb). Once a launch configuration is created, it can be used again (e.g. relaunching the executable after |
| the debug session is terminated). By default, the Stand-alone Debugger creates a debug launch configuration for |
| you when you specify an executable on the command-line or if you use the <strong>New Executable...</strong> dialog.</p> |
| <p>There are multiple debug launch configuration types. The most common, is the Local C/C++ Application configuration |
| which is for running local applications and this is the configuration that the Stand-alone Debugger will set up |
| for you when you specify an executable in either of the aforementioned ways. |
| |
| A local C/C++ launch configuration is normally tied to an Eclipse project which |
| contains the executable you wish to debug. You do not have to create an Eclipse project because the Stand-alone debugger also creates the Eclipse project on your behalf as part |
| of importing your executable. By default, this is usually the special <strong>Executables</strong>project which is set aside for this purpose, but if you have imported multiple |
| executables at the same time, additional <strong>ExecutablesNNNN</strong> projects will be created to keep each executable |
| in a separate project. This is done to help the indexer keep track of the executable and all its associated source fiels.</p> |
| <p>There are other C/C++ debug configuration types that you may wish to use such as: |
| <ul> |
| <li>C/C++ Attach to Application</li> |
| <li>C/C++ Postmortem Debugger</li> |
| </ul> |
| <p>These additional launch configurations require that you create them manually. To do this:</p> |
| |
| <ol> |
| <li>In C/C++ Projects view, select a project. The C/C++ Projects view is not visible by default when you |
| start the Stand-alone debugger. You can access it |
| by using <strong>Window > Show View > C/C++ > C/C++ Projects</strong>. As mentioned, in most cases, |
| you will only see the <strong>Executables</strong> project. |
| </li> |
| <li>Click <strong>Run > Debug Configurations...</strong>.</li> |
| <li>In the Debug Configurations dialog box, select a desired debug configuration type from the <strong>Configurations</strong> |
| list.</li> |
| <li><p>Click the <strong>New</strong> button in the top left.</p></li> |
| <li>In the <strong>Name</strong> box, type a descriptive name for this debug configuration.</li> |
| <li>In the <strong>Project</strong> box, type the name of the project containing |
| the application you want to debug. If you had selected a project, this project will be filled |
| in for you. In almost all cases, this will be the <strong>Executables</strong> project.</li> |
| <li>In the <strong>C/C++ Application</strong> box, type the name of the executable |
| that you want to run. This must be an application that has been imported into the project |
| or in the case of an Attach to Application configuration, this field can be empty. </li> |
| <li>Click <strong>Debug</strong>.<br><br> |
| <p>The debug perspective is opened and the application window opens on |
| top. In the case of an attach configuration, a dialog will pop up to allow you to select a running application.</p></li> |
| </ol> |
| |
| <p>For more information:</p> |
| <ul><li>To specify the |
| execution arguments an application uses and the working directory for a run |
| configuration, see <a href="cdt_t_run_arg.htm">Specifying execution arguments</a>.</li><li>To set the environment variables |
| and values to use when an application runs, see <a href="cdt_t_run_env.htm"> |
| Setting environment variables</a></li> |
| <li>To select a debugger to use when debugging an application, see |
| <a href="cdt_t_run_dbg.htm">Selecting a debugger</a></li> |
| <li>To specify the location of source files used when debugging a C or C++ |
| application, see <a href="cdt_t_run_source.htm">Specifying the location of |
| source files</a></li> |
| <li>To specify where the run configuration is stored, how you access it and |
| what perspective to open when running an application, see |
| <a href="cdt_t_run_com.htm">Specifying the location of the run configuration</a></li></ul> |
| |
| <p>To use a debug configuration:</p> |
| |
| <p>You can reuse a previously created debug launch configuration to debug your |
| program.</p> |
| |
| <ol> |
| <li>Click <strong>Run > Debug</strong>.</li> |
| <li>In the Debug dialog box, select a debug configuration from the Configurations |
| list.</li> |
| <li>Click <strong>Debug</strong>. </li> |
| </ol> |
| |
| <p><img src="../images/ngconcepts.gif" ALT="Related concepts" width="143" height="21"> |
| <br> |
| <a href="../concepts/cdt_c_over_dbg.htm">Debug overview</a><br> |
| <a href="../concepts/cdt_c_dbg_info.htm">Debug information</a></p> |
| <p><img src="../images/ngtasks.gif" ALT="Related tasks" width="143" height="21"> |
| <br> |
| <a href="cdt_o_debug.htm">Debugging</a></p> |
| <p><img src="../images/ngref.gif" ALT="Related reference" width="143" height="21"> |
| <br> |
| <a href="../reference/cdt_o_run_dbg_pages.htm">Run and Debug dialog box</a></p> |
| <img src="../images/ng00_04a.gif" ALT="IBM Copyright Statement" > |
| |
| </div></body> |
| |
| </html> |