This is a gdb problem. There is no way C::B to use "..\..\src\common\string.cpp:200", sorry.
Please report this problem to the GDB devs.
Another options is to modify the wx build commands to use fullpaths, I don't know if this is possible.
@obf, I found a way (maybe a workaround)
1, I build wxWidgets library my self, with the command:
cd wxWidgets-2.8.12\build\msw
mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug
2, now, I create a wx app project under C::B, which link to wx debug library.
3, now, debug the app, set a breakpoint in the app's source.
with the "step into" command, I can trace into the wx's source (both header files and cpp files)
4, If I use c::b to add a break point in wx's cpp source file, like(Note, c::b use absolute path to set a breakpoint)
>>>>>>cb_gdb:
> break "D:/code/wxWidgets-2.8.12/src/common/string.cpp:158"
Then, gdb.exe will crash and showing a alert message box(application error)
5, If I add a break point manually, through the command below(send it from the debug-log edit control)
break ../../src/common/string.cpp:167
Breakpoint 2 at 0x66d89f57: file ../../src/common/string.cpp, line 167.
Then, this break point works and the app can stops there. But as this breakpoint is added manually, so debugger's breakpoint windows does not have a line about this breakpoint. But this "relative path breakpoint" works fine.
As a conclusion:
for debugging wx's source under Windows system
absolute path break point failed.
relative path break point works OK. Is it possible that c::b can maintain a "relative path breakpoint", so we can smoothly debug the wx source under Windows.