Personal tools
You are here: Home cmgui Wiki Tips for using ddd
Views
FrontPage >> Peters notes >>

Tips for using ddd

last edited 1 year ago by pbier

If wanting to debug a firefox extension you can easily start up ddd with firefox by typing firefox -g at a console prompt. This will open ddd with firefox as the application to run.

Type run to begin exectution of the firefox application. You will probably need to start using an extension before you can set a breakpoint within it.

When setting break points for C++ function calls that have double colons, or spaces in their name, single quotes must be placed around the function header. Note the full function header is required, including arguments types. Eg you would type:

  break 'CmguiComputedField::SetTypeSumComponents(CmguiIComputedField*, double*, unnsigned int)'

When typing the name of a function to set as a breakpoint you can used tab to show the list of possible completions. If there is only one possiblity tab will auto complete your function for you.

If firefox crashes when you are debugging it you can often get useful information by looking at the backtrace (type bt to see the backtract or use the menu). Unfortunately some times ddd will note be able to give a meaningful back trace because things run asynchronously and the code that caused the problem may not be the latest code to run. You can often get around this by running firefox in sync mode. To start firefox in sync mode with the debugger type:

  firefox --sync -g

Contributing to this site

Please add to the wiki any relevant information that you think might be useful to other users of this website. For example, you might like to contribute your experiences, questions and answers.

You are encouraged to contribute to this site regardless of your level of experience. Contributions are welcomed from new and regular visitors.

If you ask a question and receive an answer from a developer you should record it in the wiki. This information is extremely useful and can help other users overcome the same problem.

See how to add and edit pages for more information.