Debug with Code::Block

6 comments:
Làm cái ass, kiếm cách debug bằng code::block ra thằng này, mọi người ai quan tâm thì tham khảo :-D

Contents

  • 1 Build debug version of your project
  • 2 Add Watches
  • 3 Set Breakpoints
  • 4 Notes on Setting Breakpoints
    • 4.1 Update to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 newest version of mingw
    • 4.2 Limits on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 early version of mingw

Build debug version of your project

Make sure that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project is compiled with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 -g (debugging symbols) compiler option on, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 -s (strip symbols) option off. This ensures that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 executable has debug symbols included.

Compiler optimization switches should be turned off, stripping symbols (-s) must be turned off.

Keep in mind that you may have to re-build your project as up-to-date object files might not be re-compiled with -g ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise. Please be aware that in compilers ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than GCC, -g and/or -s might be a different switch (-s might not ba available at all).

Menu => Project => Build Options

Set Project Build Options

Add Watches

Open The Debugger Watches Window

Open Watch Window

The list of watches can be saved to a file and later re-loaded. To do so, right click in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 list of watches and select "save watch file" (and "load watch file" to re-load cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m again).

Image:Save watch.png

Set Breakpoints

Find cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 line containing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 variable to be watched. Set a breakpoint in a position that will allow you to observe cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 variable value.

Menu => Debug => Toggle Breakpoint

Choose Watch Variable

Run cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 debugger until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 breakpoint is reached. Right click cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 variable to set a watch in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Watch Window.

Breakpoints may also be toggled with a left click in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 left editor margin.

Notes on Setting Breakpoints

Update to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 newest version of mingw

From gdb 6.8 released on April 2008, it supports many features which does not exist in early versions. You can update by installing binaries from TDM-Mingw package.

Limits on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 early version of mingw

If your are still using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mingw and gdb 6.7 from 8.02 setup files, setting breakpoints in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 constructor can not work. Here are some tricks.

Breakpoints do not work in constructors or destructors in GDB 6.7 and earlier version. They do, however, work in routines called from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. This is an early GDB restriction, not a bug. So you could do something like:

Debugging ctor/dtor

...and place a breakpoint in "DebugCtorDtor" at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 line "int i = 0;" . The debugger will break at that line. If you cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n step cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 debugger (Menu Debug => Next Line; or alternatively F7) you'll reach cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 contructor/destructor ("is_initialised = true/false;").

Source : here