Author Topic: Splitting debugger in two - specific debugger and common GUI  (Read 296368 times)

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9508
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #570 on: January 04, 2012, 05:58:48 pm »
There is a missing wxIsIdOk or something like that when the compatibility is off.
Ah! yes, I had fixed this already... Seems I forgot to commit a file... I'll sort it out... Sorry. :-[
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9508
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #571 on: January 04, 2012, 06:06:12 pm »
Ah! yes, I had fixed this already... Seems I forgot to commit a file... I'll sort it out... Sorry. :-[
Could you try again, please. The issue here is, that I also manage the wxSmith branch which has a lot more wxSmith related changes / patches... man - we should really consider to finally merge at least this branch into trunk.

Concerning wxPropGrid. I'll try to back-port the whole wxPropGrid stuff into trunk. Then both should be in sync for this component. Would that be OK for you?
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Online oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 12128
    • Travis build status
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #572 on: January 04, 2012, 06:15:04 pm »
Don't worry, I've not compiled it. But I didn't commit the change because I didn't have the time to fix trunk.

Yes, syncing wxPropGrid is OK with me.

About the merging of the branch,
I have probably one last API breaking change (it will be committed this week) and I think I'll be ready for a merge.
My current target is the end of January. Stay tuned :)
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Online oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 12128
    • Travis build status
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #573 on: January 05, 2012, 09:40:51 pm »
Ok, I've committed the API change (maybe the last major one) and a fix for the batch mode, please test and report if there are any problems.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline jens

  • Administrator
  • Lives here!
  • *****
  • Posts: 7265
    • Jens' unofficial debian-repository for the Code::Blocks - IDE
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #574 on: January 05, 2012, 10:07:52 pm »
Ah! yes, I had fixed this already... Seems I forgot to commit a file... I'll sort it out... Sorry. :-[
Could you try again, please. The issue here is, that I also manage the wxSmith branch which has a lot more wxSmith related changes / patches... man - we should really consider to finally merge at least this branch into trunk.

Can we wait with a merge, until the linux and windows build fixes (and directory layout changes) are made ?
I work on it, but sometimes my family (and my boss) need my time also.

Online oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 12128
    • Travis build status
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #575 on: January 05, 2012, 10:25:08 pm »
But then you'll have to do the job twice, I guess.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline jens

  • Administrator
  • Lives here!
  • *****
  • Posts: 7265
    • Jens' unofficial debian-repository for the Code::Blocks - IDE
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #576 on: January 05, 2012, 10:52:21 pm »
But then you'll have to do the job twice, I guess.
I do it in the wxsmith-branch, and if it is ready, it can be merged back into trunk.

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9508
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #577 on: January 06, 2012, 06:22:02 am »
Can we wait with a merge, until the linux and windows build fixes (and directory layout changes) are made ?
Yes, sure - I won't do it overnight. ;-) Although I wonder what is still pending. It looks pretty good now.

I have (however) prepared to merge the wxPropGrid changes from the debugger branch into trunk. This will than also land (sooner or later) in the wxsmith branch.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9508
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #578 on: January 13, 2012, 05:36:43 pm »
I had the following issue several times now:
While debugging, I pressed "Next" several times to debug step-by-step and suddenly all debugger buttons are greyed out, except the "Pause " and "Stop". But hitting these does nothing. I have to kill the debugger (notice that killing the debugger's debuggee does nothing, too) to get C::B back to work.
In the debuggers debug log I see:
Code: [Select]
[debug]> next
[debug]Cannot find bounds of current function
[debug]>>>>>>cb_gdb:

Trying to pause the running process...
And that's basically it. Even if hitting the "Stop" button several times.
What's causing this? Anybody here experiencing the same?
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Online oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 12128
    • Travis build status
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #579 on: January 13, 2012, 05:43:14 pm »
Do you have the full log?
Do you have a 100% reproduction case?
My guess is broken GDB/Debug info and also it is caused by not well parsed output from "next".
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9508
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #580 on: January 13, 2012, 08:09:45 pm »
Do you have the full log?
That *is* the full log. Everything before is related to the last frame/debug info being shown.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Online oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 12128
    • Travis build status
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #581 on: January 13, 2012, 09:39:54 pm »
Test case?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9508
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #582 on: January 14, 2012, 03:11:10 pm »
Test case?
I didn't find one yet... let me further investigate.

Another one: Concerning the issue that I cannot see the triangle: It is related to the settings! When I run a clean instance of C::B I see the triangle. "Re-installing" my old config makes the triangle go away. Must be either something with the layouts or editor settings... I'll investigate, too.

But: I got another serious one:
- Create a hello world project
- Set a BP
- Goto editor settings
- Don't change anything, but quit the dialog wit "OK"
- Try to remove (toggle) the BP -> does not work!!!
« Last Edit: January 14, 2012, 03:17:39 pm by MortenMacFly »
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9508
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #583 on: January 14, 2012, 03:16:15 pm »
I didn't find one yet... let me further investigate.
Got one!
- Create a hello world project
- Set a BP in the first line in "main".
- Step though the code using F7
- After a few steps I come to that point.

Here is the log:
Code: [Select]
[debug]>>>>>>cb_gdb:

At c:\users\morten\desktop\mycon\main.cpp:7

[debug]> set debugevents off
[debug]>>>>>>cb_gdb:
[debug]> next
[debug]c:\users\morten\desktop\mycon\main.cpp:8:99:beg:0x401342
[debug]>>>>>>cb_gdb:

At c:\users\morten\desktop\mycon\main.cpp:8

[debug]> next
[debug]c:\users\morten\desktop\mycon\main.cpp:9:114:beg:0x401347
[debug]>>>>>>cb_gdb:

At c:\users\morten\desktop\mycon\main.cpp:9

[debug]> next
[debug]250 ../mingw/crt1.c: No such file or directory.
[debug]__mingw_CRTStartup () at ../mingw/crt1.c:250
[debug] in ../mingw/crt1.c
[debug]>>>>>>cb_gdb:

Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...

Note that "Trying to pause the running process..." comes from trying to press pause or stop. And also notice that I hit far more on "Step" than shown in the log...
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Online oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 12128
    • Travis build status
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #584 on: January 14, 2012, 04:17:01 pm »
But: I got another serious one:
- Create a hello world project
- Set a BP
- Goto editor settings
- Don't change anything, but quit the dialog wit "OK"
- Try to remove (toggle) the BP -> does not work!!!

This is caused by
1. cbEditor::SaveFoldState() calling cbEditor::OnEditorModified
2 which then calls debugger->EditorLinesAddedOrRemoved,
3. which shifts the breakpoints after the end of the file.

I'm not really sure what should we do, so any suggestions are welcome.
By the way this is broken in trunk, too and I guess it has been broken for years.

I guess this easiest thing is to hack it with some kind of m_noBreakpointShift flag, but I don't want to do it this way. I want a proper fix.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]