Developer forums (C::B DEVELOPMENT STRICTLY!) > Contributions to C::B
Debugger initialization commands to debug in wxWidgets
ollydbg:
Ok, here is my hard-coded change to let setting break point on wxWidgets 's source.
--- Code: ---wxString DebuggerState::ConvertToValidFilename(const wxString& filename)
{
wxString fname;
if( filename.StartsWith(_T("D:\\code\\wxWidgets-2.8.12"))
&& filename.EndsWith(_T(".cpp")))
{
wxFileName f(filename);
wxString base = _T("D:\\code\\wxWidgets-2.8.12\\build\\msw");
f.MakeRelativeTo(base);
fname = f.GetFullPath();
}
else
fname = filename;
fname.Replace(_T("\\"), _T("/"));
return fname;
} // end of ConvertToValidFilename
--- End code ---
So, the final step is: If we supply database which contains all the candidate "base" file paths, we can solve the problem. :D
Any ideas???
oBFusCATed:
My idea was to provide a GUI for setting relative path breakpoints.
Example steps:
1. set the breakpoint by clicking in the margin
2. right click in on the dot
3. a menu is shown with option: make relative
4. clicking this option shows a dialog or submenus with all the available paths or option to add new one
5. you choose a path and this path is used to calculate the relative path for the breakpoint
Forget about your idea of a database and such hacky staff!!!!!
p.s. the best solution is to hack gdb and add support for such breakpoints. Ollydbg I know you have some understanding of gdb internals. :lol:
ollydbg:
I would like to help, but just not sure I can implement those things. That's seems a little complex.
ollydbg:
It seems under linux, the gdb can do very good job on both relative and absolute paths, so I guess this is only a Windows issue.
See more details on:
Comment 23
oBFusCATed:
Yes, windows only issue it is.
There is a message on GDB's mail list about the problem (the message is 2006 or older), but nothing have been done.
Olly if you're interested in this being fixed, please talk to the GDB guys and see what they will say.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version