User forums > Using Code::Blocks

GDB

<< < (5/8) > >>

scarphin:

--- Quote from: oBFusCATed on February 12, 2011, 02:43:04 pm ---scarphin: Keep in mind that the GUI in the project -> properties is added by the GDB plugin itself and it is not common for all plugins.
  So other plugins should implement it the best they can.

--- End quote ---

Well didn't know that and that renders it quite useless really. I think u are working on separating the debugger and the gui, can it be implemented in the gui side after it's done then?


--- Quote from: oBFusCATed on February 12, 2011, 02:43:04 pm ---Have you looked at the debugger's debug log when using avr-gdb? Also I think you should use the debuggers branch, in trunk the commands weren't working if I remember correctly.

--- End quote ---

I've checked every tab related with the debugger and there is no trace of a directory listing with avr-gdb. Mingw however, lists the directories on the debugger(debug) tab. There isn't any problem executing shell commands when typed though. I'm always using the debuggers branch as the debugger doesn't launch for a 'native' target on the trunk branch which was a bug u corrected last summer. It can still be related with the target type like 'native' or 'console application' etc... Can u check that if they all have same options for a 'shell' execution or something?

oBFusCATed:

--- Quote from: scarphin on February 12, 2011, 03:40:24 pm ---I've checked every tab related with the debugger and there is no trace of a directory listing with avr-gdb. Mingw however, lists the directories on the debugger(debug) tab.

--- End quote ---
Do you see the shell commands executed in the debugger (debug) tab?
Where do you add them?

scarphin:
Here is mingw's log:

--- Code: ---Command-line: C:\GNU\MinGW\bin\gdb.exe -nx -fullname  -quiet -args bin/Debug/exC.exe
Working dir : D:\Coding\Projects\exC\src\
> set prompt >>>>>>cb_gdb:
Reading symbols from D:\Coding\Projects\exC\src/bin/Debug/exC.exe...done.
(gdb) >>>>>>cb_gdb:
> show version
GNU gdb (GDB) 7.1
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
>>>>>>cb_gdb:
> set confirm off
>>>>>>cb_gdb:
> set width 0
>>>>>>cb_gdb:
> set height 0
>>>>>>cb_gdb:
> set breakpoint pending on
>>>>>>cb_gdb:
> set print asm-demangle on
>>>>>>cb_gdb:
> set unwindonsignal on
>>>>>>cb_gdb:
> set print elements -1
>>>>>>cb_gdb:
> set debugevents on
>>>>>>cb_gdb:
> set new-console on
>>>>>>cb_gdb:
> set disassembly-flavor att
>>>>>>cb_gdb:
> catch throw
Function "__cxa_throw" not defined.
Catchpoint 1 (throw)
>>>>>>cb_gdb:
> source C:\GNU\CodeBlocks\share\codeblocks/scripts/stl-views-1.0.3.gdb
>>>>>>cb_gdb:
> directory D:/Coding/Projects/exC/src/
>>>>>>cb_gdb:
> shell dir
 Volume in drive D is Data
 Volume Serial Number is 743E-2D50
 Directory of D:\Coding\Projects\exC\src
02/12/2011  16:39    <DIR>          .
02/12/2011  16:39    <DIR>          ..
01/31/2011  20:28    <DIR>          bin
02/12/2011  16:28             1,392 exC.cbp
02/12/2011  16:39               238 exC.layout
01/31/2011  20:28               609 main.c
01/31/2011  20:28    <DIR>          obj
               3 File(s)          2,239 bytes
               4 Dir(s)  60,906,680,320 bytes free
>>>>>>cb_gdb:
> break main
Breakpoint 2 at 0x4013ce: file D:\Coding\Projects\exC\src\main.c, line 12.
>>>>>>cb_gdb:
> run
gdb: windows_init_thread_list
[New Thread 3936.0xfd0]
Breakpoint 2, main () at D:\Coding\Projects\exC\src\main.c:12
D:\Coding\Projects\exC\src\main.c:12:172:beg:0x4013ce
>>>>>>cb_gdb:
> set debugevents off
>>>>>>cb_gdb:
> info registers
eax            0x1 1
ecx            0x1 1
edx            0x0 0
ebx            0x7efde000 2130567168
esp            0x27ff00 0x27ff00
ebp            0x27ff28 0x27ff28
esi            0x0 0
edi            0x0 0
eip            0x4013ce 0x4013ce <main+14>
eflags         0x202 [ IF ]
cs             0x23 35
ss             0x2b 43
ds             0x2b 43
es             0x2b 43
fs             0x53 83
gs             0x2b 43
>>>>>>cb_gdb:
> bt 30
#0  main () at D:\Coding\Projects\exC\src\main.c:12
>>>>>>cb_gdb:
> if 1
disassemble 0x4013ce
info frame
end
 > > >Dump of assembler code for function main:
   0x004013c0 <+0>: push   %ebp
   0x004013c1 <+1>: mov    %esp,%ebp
   0x004013c3 <+3>: and    $0xfffffff0,%esp
   0x004013c6 <+6>: sub    $0x20,%esp
   0x004013c9 <+9>: call   0x401a80 <__main>
=> 0x004013ce <+14>: movl   $0x40140f,0x4(%esp)
   0x004013d6 <+22>: movl   $0x16,(%esp)
   0x004013dd <+29>: call   0x401cf8 <signal>
   0x004013e2 <+34>: movl   $0x401434,0x4(%esp)
   0x004013ea <+42>: movl   $0x2,(%esp)
   0x004013f1 <+49>: call   0x401cf8 <signal>
   0x004013f6 <+54>: lea    0x1c(%esp),%eax
   0x004013fa <+58>: mov    %eax,0x4(%esp)
   0x004013fe <+62>: movl   $0x403064,(%esp)
   0x00401405 <+69>: call   0x401d00 <scanf>
   0x0040140a <+74>: call   0x401d08 <abort>
End of assembler dump.
Stack level 0, frame at 0x27ff30:
 eip = 0x4013ce in main (D:\Coding\Projects\exC\src\main.c:12); saved eip 0x4010db
 source language c.
 Arglist at 0x27ff28, args:
 Locals at 0x27ff28, Previous frame's sp is 0x27ff30
 Saved registers:
  ebp at 0x27ff28, eip at 0x27ff2c
>>>>>>cb_gdb:
> x/32xb 0x0
Cannot access memory at address 0x0
0x0: >>>>>>cb_gdb:
> info threads
* 1 Thread 3936.0xfd0  main () at D:\Coding\Projects\exC\src\main.c:12
>>>>>>cb_gdb:
> disassemble 0x004013ce
Dump of assembler code for function main:
   0x004013c0 <+0>: push   %ebp
   0x004013c1 <+1>: mov    %esp,%ebp
   0x004013c3 <+3>: and    $0xfffffff0,%esp
   0x004013c6 <+6>: sub    $0x20,%esp
   0x004013c9 <+9>: call   0x401a80 <__main>
=> 0x004013ce <+14>: movl   $0x40140f,0x4(%esp)
   0x004013d6 <+22>: movl   $0x16,(%esp)
   0x004013dd <+29>: call   0x401cf8 <signal>
   0x004013e2 <+34>: movl   $0x401434,0x4(%esp)
   0x004013ea <+42>: movl   $0x2,(%esp)
   0x004013f1 <+49>: call   0x401cf8 <signal>
   0x004013f6 <+54>: lea    0x1c(%esp),%eax
   0x004013fa <+58>: mov    %eax,0x4(%esp)
   0x004013fe <+62>: movl   $0x403064,(%esp)
   0x00401405 <+69>: call   0x401d00 <scanf>
   0x0040140a <+74>: call   0x401d08 <abort>
End of assembler dump.
>>>>>>cb_gdb:

--- End code ---
U can see the 'shell dir' is executed and the directory list after.

And avr-gdb's:

--- Code: ---Command-line: C:\GNU\WinAVR\bin\avr-gdb.exe -nx -fullname  -quiet -args bin/Release/RmCont
Working dir : D:\Electronics\Projects\RmCont\source\
> set prompt >>>>>>cb_gdb:
bin/Release/RmCont: No such file or directory.
(gdb) >>>>>>cb_gdb:
> show version
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=i686-pc-mingw32 --target=avr".
>>>>>>cb_gdb:
> set confirm off
>>>>>>cb_gdb:
> set width 0
>>>>>>cb_gdb:
> set height 0
>>>>>>cb_gdb:
> set breakpoint pending on
>>>>>>cb_gdb:
> set print asm-demangle on
>>>>>>cb_gdb:
> set unwindonsignal on
>>>>>>cb_gdb:
> set print elements -1
>>>>>>cb_gdb:
> set debugevents on
No symbol table is loaded.  Use the "file" command.
>>>>>>cb_gdb:
> set disassembly-flavor att
No symbol table is loaded.  Use the "file" command.
>>>>>>cb_gdb:
> catch throw
No symbol table is loaded.  Use the "file" command.
>>>>>>cb_gdb:
> source C:\GNU\CodeBlocks\share\codeblocks/scripts/stl-views-1.0.3.gdb
>>>>>>cb_gdb:
> directory D:/Electronics/Projects/RmCont/source/
>>>>>>cb_gdb:
> run
Don't know how to run.  Try "help target".
>>>>>>cb_gdb:

--- End code ---

As u can see there is no sign of 'shell dir' on the avr-gdb log. They are both entered in the 'additional gdb commands' 'before connection' part. I don't have the needed hardware at home so avr-gdb can't connect to target, can this be the reason for 'shell' not to work? Also as I said before mingw project is a 'console application' and avr-gdb is 'native'.

oBFusCATed:
Hm, can you enter any other valid gdb command in the avr project and see if it is executed.
If it isn't, can you try to switch it to console?
Probably this is another bug and it should be fixed.

scarphin:
Tried with the 'help' command, same results, works with mingw but not with avr.


--- Quote from: oBFusCATed on February 13, 2011, 08:27:16 am ---If it isn't, can you try to switch it to console?

--- End quote ---
Sorry, how is 'switching to console' performed?

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version