Author Topic: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.  (Read 77124 times)

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5489
Get quick announcements through the RSS feed http://www.codeblocks.org/nightly/CodeBlock_RSS.xml

Before you use a nightly make sure you understand how it works.

A link to the unicode windows wxWidget dll for Code::Blocks : http://prdownload.berlios.de/codeblocks/wxmsw28u_gcc_cb_wx2812_gcc452-TDM.7z

For those who might need this one (when no MingW installed on your system) : the mingw10m.dll : http://prdownload.berlios.de/codeblocks/mingwm10_gcc452-TDM.7z

The 11 February 2012 build is out.
  - Windows :
   http://prdownload.berlios.de/codeblocks/CB_20120211_rev7790_DEBUGGER_BRANCH_win32.7z
  - Linux :
   none

Important changes compared to previous DEBUGGER BRANCH nightly:

* Added editor markers for breakpoints in the inactive debuggers. Added the same icon in the breakpoints dialog;
* Added UI for setting additional/user arguments for GDB (should implement the same for CDB)
* Fixed the GDB watch parser, when parsing std::deque variables (template inheritance involved), added the required tests for the parser
* proper fix for calculating path (which lead to garbage earlier)
* Fixed possible memory leak if there are unexecuted commands in the command queue (thanks tomjnx)
* fix drag to watches-dialog bug; on linux the dragged variable was deleted in source, if Strg was not pressed, see: http://forums.codeblocks.org/index.php/topic,15777.msg106723.html#msg106723
* Fixed the no breakpoint bug, when setting a breakpoint on a line and then running to the same line with 'Run to Cursor'
* all updates that occurred on trunk


Note: Watch parsing prints an error message in the watches window if the parsing fails. If you see this string please report it as a bug.

THIS IS A SPECIAL TEST BUILD OF REFACTORINGS CARRIED OUT ON THE DEBUGGER BRANCH IN OUR SVN.
FOCUS IS ON ENHANCED DEBUGGING USABILITY.

Give your feedback on this version only in this thread, don't mix it with the regular nightly please. If you feel it is however not
related to the debugger functionality itself, then it might be better to report it the corresponding regular nightly build thread.

Once we don't have any blockers on this version,we will merge the changes into trunk and it will be part of the regular nightlies.

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.
« Reply #1 on: February 12, 2012, 05:35:06 pm »
Debian packages (binaries and sources) for 32-bit and 64-bit systems can be found in my repo.

If you want to use apt (or dselect, synaptic or whatever) you need to add the following entries to /etc/apt/sources.list :
Code
deb http://apt.jenslody.de/ any dbg
deb-src http://apt.jenslody.de/ any dbg
and remove entries for the normal nightlies.

Alternatively you can download the deb's directly from http://apt.jenslody.de/pool/dbg/c/codeblocks/ .

Offline themaddin

  • Multiple posting newcomer
  • *
  • Posts: 16
Re: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.
« Reply #2 on: February 13, 2012, 02:43:46 pm »
Hello everyone,

I'm using this version of Code::Blocks with CodeSourcery, J-Link GDB-Server via JTAG and the Segger J-LINK.
It seems that every GDB instruction is send twice to the GDB-Server.
For Example:
If i type "monitor reset" to the debuggers command line in Code::Blocks it appears twice:
> monitor reset
Resetting target
>>>>>>cb_gdb:
Resetting target
>>>>>>cb_gdb:

Also in the log window of the GDB-Server:
Resetting target
Resetting target

Further more every breakpoint i set with Code::Blocks is set twice in GDB.

Is this a bug or a adjustment problem?


Kind regards
themaddin

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.
« Reply #3 on: February 13, 2012, 02:49:12 pm »
Does it work with any of the previous nightlies?
(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 themaddin

  • Multiple posting newcomer
  • *
  • Posts: 16
Re: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.
« Reply #4 on: February 13, 2012, 03:11:03 pm »
I tried the official version 10.05. With this version I had other problems with GDB. But it seems that 10.05 also sends instructions twice to GDB.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.
« Reply #5 on: February 13, 2012, 04:27:20 pm »
10.05 is irrelevant, because the branch has modifications to 50-90% of the code related to the debugger.
Please test previous debugger's branch nightlies and tell me if there is even one which works.
(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 themaddin

  • Multiple posting newcomer
  • *
  • Posts: 16
Re: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.
« Reply #6 on: February 13, 2012, 08:41:43 pm »
Okay, I will test tomorow.

Offline themaddin

  • Multiple posting newcomer
  • *
  • Posts: 16
Re: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.
« Reply #7 on: February 14, 2012, 09:29:03 am »
I tested the 30 October 2011 build (7550) DEBUGGER BRANCH version:

If I type "monitor reset" Resetting target appears also twice
> monitor reset
Resetting target
>>>>>>cb_gdb:
Resetting target
>>>>>>cb_gdb:

Breakpoints are also set twice.

It seems every instruction is executed twice. See the summary of my debuggers log after connection:
Code
> target remote tcp:localhost:2331
0x00000000 in ?? ()
>>>>>>cb_gdb:>>>>>>cb_gdb:
> monitor speed auto
> monitor speed auto
Select auto JTAG speed (4000 kHz)
>>>>>>cb_gdb:
> monitor endian little
Select auto JTAG speed (4000 kHz)
Select auto JTAG speed (4000 kHz)
Select auto JTAG speed (4000 kHz)
>>>>>>cb_gdb:>>>>>>cb_gdb:>>>>>>cb_gdb:
> load
Target endianess set to "little endian"
Target endianess set to "little endian"
>>>>>>cb_gdb:>>>>>>cb_gdb:Loading section .isr_vector, size 0x1e4 lma 0x8000000
> monitor reset
Loading section .version_mat, size 0x4 lma 0x8001008
Loading section .version_ver, size 0x4 lma 0x800100c
Loading section .version_cpu, size 0x4 lma 0x8001010
Loading section .text, size 0x26d30 lma 0x8001018
Loading section .data, size 0x4664 lma 0x8027d48
Start address 0x80172c8, load size 177540
Transfer rate: 126 KB/sec, 11096 bytes/write.
>>>>>>cb_gdb:Loading section .isr_vector, size 0x1e4 lma 0x8000000
> continue
Loading section .version_mat, size 0x4 lma 0x8001008
Loading section .version_ver, size 0x4 lma 0x800100c
Loading section .version_cpu, size 0x4 lma 0x8001010
Loading section .text, size 0x26d30 lma 0x8001018
Loading section .data, size 0x4664 lma 0x8027d48
Start address 0x80172c8, load size 177540
Transfer rate: 127 KB/sec, 11096 bytes/write.
>>>>>>cb_gdb:
Resetting target
>>>>>>cb_gdb:
Resetting target
>>>>>>cb_gdb:

My Additional GDB commands after connection:
Code
monitor speed auto
monitor endian little
load
monitor reset
After this without break points the hardware is executing.

Kind regards
themaddin

Offline themaddin

  • Multiple posting newcomer
  • *
  • Posts: 16
Re: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.
« Reply #8 on: February 14, 2012, 09:41:13 am »
Same problems with the 07 January 2012 build (7678) DEBUGGER BRANCH version.

Offline themaddin

  • Multiple posting newcomer
  • *
  • Posts: 16
Re: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.
« Reply #9 on: February 14, 2012, 09:52:08 am »
Same problems with the 17 September 2011 build (7452) DEBUGGER BRANCH version.

Debuggers log summary:
Code
> target remote tcp:localhost:2331
0x00000000 in ?? ()
>>>>>>cb_gdb:>>>>>>cb_gdb:
> monitor speed auto
Select auto JTAG speed (4000 kHz)
>>>>>>cb_gdb:
> monitor endian little
Select auto JTAG speed (4000 kHz)
Target endianess set to "little endian"
Target endianess set to "little endian"
>>>>>>cb_gdb:>>>>>>cb_gdb:>>>>>>cb_gdb:
> load
Loading section .isr_vector, size 0x1e4 lma 0x8000000
Loading section .version_mat, size 0x4 lma 0x8001008
Loading section .version_ver, size 0x4 lma 0x800100c
Loading section .version_cpu, size 0x4 lma 0x8001010
Loading section .text, size 0x26d30 lma 0x8001018
Loading section .data, size 0x4664 lma 0x8027d48
Start address 0x80172c8, load size 177540
Transfer rate: 127 KB/sec, 11096 bytes/write.
>>>>>>cb_gdb:Loading section .isr_vector, size 0x1e4 lma 0x8000000
> monitor reset
Loading section .version_mat, size 0x4 lma 0x8001008
Loading section .version_ver, size 0x4 lma 0x800100c
Loading section .version_cpu, size 0x4 lma 0x8001010
Loading section .text, size 0x26d30 lma 0x8001018
Loading section .data, size 0x4664 lma 0x8027d48
Start address 0x80172c8, load size 177540
Transfer rate: 127 KB/sec, 11096 bytes/write.
>>>>>>cb_gdb:
> continue
Resetting target
>>>>>>cb_gdb:
> bt 30
Resetting target
>>>>>>cb_gdb:

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.
« Reply #10 on: February 14, 2012, 09:57:11 am »
The last log seems OK.
Can you post one valid debug session with command line gdb?
(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 themaddin

  • Multiple posting newcomer
  • *
  • Posts: 16
Re: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.
« Reply #11 on: February 14, 2012, 02:34:45 pm »
I think the last log seems not OK. Every instruction is confirmed twice. And it seems also executed twice.
Why do you think the log is OK?

Here is a valid debug session i typed manually to the DOS command line.
Code
(gdb) target remote localhost:2331
Remote debugging using localhost:2331
0x00000000 in ?? ()
(gdb) monitor speed auto
Select auto JTAG speed (4000 kHz)
(gdb) monitor endian little
Target endianess set to "little endian"
(gdb) load
Loading section .isr_vector, size 0x184 lma 0x8000000
Loading section .text, size 0x1958 lma 0x8000184
Loading section .data, size 0x24 lma 0x8001adc
Start address 0x800058c, load size 6912
Transfer rate: 450 KB/sec, 2304 bytes/write.
(gdb) monitor reset
Resetting target
(gdb) break main.c:63
Breakpoint 1 at 0x80004b6: file D:\Evaltest207\source\Main.c, line 63.
(gdb) cont
Continuing.

Breakpoint 1, main () at D:\Evaltest207\source\Main.c:63
63        GPIO_WriteBit(GPIOC,GPIO_Pin_7,Bit_SET);//LED4 on
(gdb) info break
Num     Type           Disp Enb Address    What
1       breakpoint     keep y   0x080004b6 in main at D:\Evaltest207\source\Main.c:63
        breakpoint already hit 1 time
(gdb)

If I do the same with the Code::Blocks GUI at first the break point is set twice. This is no problem unless you want to remove the break point. If I click continue Code::Blocks stops at the break point and the target is running. I think this is because Code::Blocks executes the instruction "continue" twice.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.
« Reply #12 on: February 14, 2012, 04:48:19 pm »
Strange.
Is this version of gdb available to the general public?
Also Do I need some hardware to reproduce the problem?
(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 themaddin

  • Multiple posting newcomer
  • *
  • Posts: 16
Re: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.
« Reply #13 on: February 15, 2012, 08:57:18 am »
I will look if there is a solution to repruduce the problem without hardware and public tools.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: The 11 February 2012 build (7790) DEBUGGER BRANCH version is out.
« Reply #14 on: February 15, 2012, 09:43:58 am »
Another option is to debug it yourself.

You can put a breakpoint in PipedProcess::SendString and you can inspect the coming commands.

Something else you could do is to try different end of line mode for the wxTextOutputStream.
I have a guess, that using wxEOL_UNIX will fix you problem.
(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!]