* GDB does not returns @ 2003-08-01 4:32 Jose Paul 2003-08-08 2:27 ` Andrew Cagney 0 siblings, 1 reply; 4+ messages in thread From: Jose Paul @ 2003-08-01 4:32 UTC (permalink / raw) To: gdb Hi All, Hi Alain, Here is the program I am using. /*---------------------------------------------------- * eCos 'Hello world' example * --------------------------------------------------*/ #include <stdio.h> //#include "library_example.h" int main(int argc, char* argv[]) { int i; for (i=0; i<10; i++) { printf("Hello world!\n\r"); } return 0; } I am using GDB mipsel-elf-gdb.exe build GNU gdb 20030516. My problem is that when I run the above program in command line it prints Hello world and is not returning to GDB. One of the ecos GUY says that if we put a break point at exit it is possible to exit the program. What command we have use to put a break point at exit or what settings I have to make to get back to gdb prompt?. Please let me know. Jose ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: GDB does not returns 2003-08-01 4:32 GDB does not returns Jose Paul @ 2003-08-08 2:27 ` Andrew Cagney 2003-08-08 4:33 ` Jose Paul 0 siblings, 1 reply; 4+ messages in thread From: Andrew Cagney @ 2003-08-08 2:27 UTC (permalink / raw) To: Jose Paul; +Cc: gdb > Hi All, > > Hi Alain, > > Here is the program I am using. > > /*---------------------------------------------------- > * eCos 'Hello world' example > * --------------------------------------------------*/ > > #include <stdio.h> > //#include "library_example.h" > > int main(int argc, char* argv[]) > { > int i; > > > for (i=0; i<10; i++) > { > printf("Hello world!\n\r"); > } > return 0; > } I guess you're doing something like: > target remote xxx:yyy > load > continue try: > target remote xxx:yyy > load > break _exit > continue The startup code typically calls _exit after main returns. Perhaphs, for embedded targets, GDB should automatically set a breakpoint on _exit. Andrew > I am using GDB mipsel-elf-gdb.exe build GNU gdb 20030516. > My problem is that when I run the above program in command line it prints > Hello world > and is not returning to GDB. > > One of the ecos GUY says that if we put a break point at exit it is possible > to exit the program. > What command we have use to put a break > point at exit or what settings I have to make to get back to gdb prompt?. > > Please let me know. > Jose > > > > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: GDB does not returns 2003-08-08 2:27 ` Andrew Cagney @ 2003-08-08 4:33 ` Jose Paul 2003-08-08 13:37 ` Andrew Cagney 0 siblings, 1 reply; 4+ messages in thread From: Jose Paul @ 2003-08-08 4:33 UTC (permalink / raw) To: Andrew Cagney; +Cc: gdb Hi Andrew, I tried the method you mentioned in the reply. It gave a message that the program is ended,but when I send a "continue" command again it says "continuing" and is not returning back. Here is the log. (gdb) target remote 192.168.0.91:9000 Remote debugging using 192.168.0.91:9000 0xffffffff80012d14 in ?? () (gdb) symbol-file D:\DeviceStudio\ecos\work\examples\src\helloworld\d world.exe D:DeviceStudioecosworkexamplessrchelloworlddebughelloworld.exe: No su directory. (gdb) symbol-file /ecos-d/DeviceStudio/ecos/work/examples/src/hellowo helloworld.exe Reading symbols from /ecos-d/DeviceStudio/ecos/work/examples/src/hell g/helloworld.exe...done. (gdb) load /ecos-d/DeviceStudio/ecos/work/examples/src/helloworld/deb rld.exe Loading section .rom_vectors, size 0x194 lma 0x80080000 Loading section .text, size 0x9744c lma 0x80080194 Loading section .rodata, size 0x9e9c lma 0x801175e0 Loading section .data, size 0x1760 lma 0x80121480 Loading section .ctors, size 0x5c lma 0x80122be0 Loading section .dtors, size 0x3c lma 0x80122c3c Loading section .devtab, size 0x2f0 lma 0x80122c78 Start address 0x80080184, load size 667492 Transfer rate: 333746 bits/sec, 510 bytes/write. (gdb) break _exit Breakpoint 1 at 0x8010f040: file /ecos-d/DeviceStudio/ecos/src/ecos-s es/language/c/libc/startup/current/src/_exit.cxx, line 83. (gdb) continue Continuing. Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! [New Thread 2] [Switching to Thread 2] Breakpoint 1, _exit (status=0) at /ecos-d/DeviceStudio/ecos/src/ecos- ges/language/c/libc/startup/current/src/_exit.cxx:83 83 CYG_ASSERT( status == 0, "Program _exiting with non-zero s"); Current language: auto; currently c++ (gdb) c Continuing. Thanks, Jose ----- Original Message ----- From: "Andrew Cagney" <ac131313@redhat.com> To: "Jose Paul" <jose@exorindia.com> Cc: <gdb@sources.redhat.com> Sent: Friday, August 08, 2003 7:57 AM Subject: Re: GDB does not returns > > Hi All, > > > > Hi Alain, > > > > Here is the program I am using. > > > > /*---------------------------------------------------- > > * eCos 'Hello world' example > > * --------------------------------------------------*/ > > > > #include <stdio.h> > > //#include "library_example.h" > > > > int main(int argc, char* argv[]) > > { > > int i; > > > > > > for (i=0; i<10; i++) > > { > > printf("Hello world!\n\r"); > > } > > return 0; > > } > > I guess you're doing something like: > > > target remote xxx:yyy > > load > > continue > > > try: > > > target remote xxx:yyy > > load > > break _exit > > continue > > The startup code typically calls _exit after main returns. > > Perhaphs, for embedded targets, GDB should automatically set a > breakpoint on _exit. > > Andrew > > > I am using GDB mipsel-elf-gdb.exe build GNU gdb 20030516. > > My problem is that when I run the above program in command line it prints > > Hello world > > and is not returning to GDB. > > > > One of the ecos GUY says that if we put a break point at exit it is possible > > to exit the program. > > What command we have use to put a break > > point at exit or what settings I have to make to get back to gdb prompt?. > > > > Please let me know. > > Jose > > > > > > > > > > > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: GDB does not returns 2003-08-08 4:33 ` Jose Paul @ 2003-08-08 13:37 ` Andrew Cagney 0 siblings, 0 replies; 4+ messages in thread From: Andrew Cagney @ 2003-08-08 13:37 UTC (permalink / raw) To: Jose Paul; +Cc: gdb > (gdb) break _exit > Breakpoint 1 at 0x8010f040: file /ecos-d/DeviceStudio/ecos/src/ecos-s > es/language/c/libc/startup/current/src/_exit.cxx, line 83. > (gdb) continue > Continuing. > Hello world! > Hello world! > Hello world! > Hello world! > Hello world! > Hello world! > Hello world! > Hello world! > Hello world! > Hello world! > [New Thread 2] > [Switching to Thread 2] > > Breakpoint 1, _exit (status=0) at /ecos-d/DeviceStudio/ecos/src/ecos- > ges/language/c/libc/startup/current/src/_exit.cxx:83 > 83 CYG_ASSERT( status == 0, "Program _exiting with non-zero > s"); > Current language: auto; currently c++ Right. Your program's been stopped just mm from its real exit. > (gdb) c > Continuing. That won't go anywhere. The remote end will need to be modified so that _exit causes the target to report back a program-exited packet (Wnn, see Remote Protocol in the doco). It appears at present _exit is simply implemented as an infinite loop.. Andrew ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-08-08 13:37 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2003-08-01 4:32 GDB does not returns Jose Paul 2003-08-08 2:27 ` Andrew Cagney 2003-08-08 4:33 ` Jose Paul 2003-08-08 13:37 ` Andrew Cagney
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).