Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: "Dr. Rolf Jansen" <rj@surtec.com>
To: gdb@sourceware.org
Cc: Dmitry Smirnov <divis1969@mail.ru>
Subject: Re: How to catch GDB crash
Date: Mon, 23 Jun 2008 20:59:00 -0000	[thread overview]
Message-ID: <1A952017-9DDE-4F6F-AE49-8C189A8E2737@surtec.com> (raw)
In-Reply-To: <0B94A1BC-59EB-44AD-B387-9051D0533E97@surtec.com>

Sorry,

the code that needs to be added at line 43 of gdb/main.c should read:

#if defined (POOR_MAN_DEBUG)
  #include <sys/time.h>
  double diff;
  time_t t0;
#endif

Before adding this to line 43, you should make the addition at line  
661, otherwise its line 667.

Best regards

Rolf Jansen


Am 24.06.2008 um 03:50 schrieb Dr. Rolf Jansen:

> Hi,
>
> Here comes a poor mans approach.
>
> 1. add in the file gdb/main.c at line 661 the
>   following code:
>
> #if defined (POOR_MAN_DEBUG)
>  printf_filtered ("[GDB PID %d]\n", getpid());
>  t0 = time(NULL);
>  while ((diff = difftime(time(NULL), t0)) <= 60);
> #endif
>
> and at line 43
>
> #if defined (POOR_MAN_DEBUG)
>  #include <sys/time.h>
>  double diff;
>  time_t t0 = time(NULL);
> #endif
>
>
> 2. issue before the configure command:
>   export CFLAGS="-g -O0 -DPOOR_MAN_DEBUG"
>   export CXXFLAGS=$CFLAGS
>
> 3. configure and make your cross-686-pc-cygwin/arm-elf-gdb
>
> 4. start the cross-debugging session
>
> 5. now you have 60 seconds to attach your host-gdb
>   to the just printed PID of your cross-gdb, and to
>   set a reasonable breakpoint somewhere near to the
>   location where you expect the crash to happen.
>
> 6. after 60 s the cross-gdb will continue running and
>   your host-gdb shall stop the cross-gdb at the
>   breakpoint that you set.
>
> 7. Now step through until the crash occurs.
>
>
> Hopefully this helps.
>
> Best regards
>
> Rolf Jansen
>
>
> Am 23.06.2008 um 23:31 schrieb Dmitry Smirnov:
>
>> Hi,
>>
>> I've encountered the very annoying problem with GDB. While  
>> debugging, it crashes for some reason and I cannot catch this  
>> moment. I have a possibility to attach to the running process with  
>> another GDB, but it does not help. Perhaps, there is some way to  
>> catch some system exception or something similar?
>>
>> I'm using a litle bit complex setup, so there is no much freedom  
>> (at least I cannot simplify the situation). First, I'm debugging  
>> from Eclipse (and it looks this crash happens only while running  
>> from Eclipse, I've tried from commad line - there is no crash). The  
>> debugger I'm using is cross-compiled arm-elf-gdb. It is compiled on  
>> windows (i686) platform:
>> GNU gdb (GDB) 6.8.50.20080620
>> ...
>> This GDB was configured as "--host=i686-pc-cygwin --target=arm-elf".
>>
>> I doubt this can be linked to GDB version. I recall I've seen this  
>> crash earlier with arm-elf-gdb 6.5 from GNUARM. I was just skipped  
>> this crash somehow but now I cannot continue my job.
>>
>> This arm-elf-gdb is running against skyeye simulator as a remote  
>> target.
>>
>> As you can see there are many possibilities for mailfunctioning  
>> software (Eclipse, GDB, skyeye). But the only way I can find the  
>> root cause is to debug the crash in arm-elf-gdb. While crashing it  
>> attempts to create the crashdump file, but it is incomplete and  
>> Cygwin gdb cannot recognize it. Typically it contains just three  
>> lines:
>>
>> Stack trace:
>> Frame     Function  Args
>> 0022E268  7C802532  (00000058
>>
>> If attached, Cygwin GDB just reporting me:
>> Program exited with code 037777777777.
>>
>> Is there any way to stop arm-elf-gdb on some critical error?
>>
>> Dmitry
>>
>>
>
>


  reply	other threads:[~2008-06-23 20:59 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-23 16:32 Dmitry Smirnov
2008-06-23 16:57 ` Aleksandar Ristovski
2008-06-23 17:12 ` Michael Snyder
2008-06-23 18:23   ` Eli Zaretskii
2008-06-23 18:32     ` Michael Snyder
2008-06-23 18:36     ` Pedro Alves
2008-06-23 19:37       ` Brian Dessent
2008-06-23 20:50 ` Dr. Rolf Jansen
2008-06-23 20:59   ` Dr. Rolf Jansen [this message]
2008-06-24  8:52 Dmitry Smirnov
2008-06-24 12:39 Dmitry Smirnov
2008-06-24 12:58 ` Pedro Alves
2008-06-24 17:03 Dmitry Smirnov
2008-06-24 17:29 ` Pedro Alves
2008-06-25  8:03   ` Dmitry Smirnov
2008-06-25 23:28     ` Pedro Alves
2008-06-26 13:56       ` Dmitry Smirnov
2008-06-26 14:21         ` Pedro Alves
2008-06-26 14:33           ` Dmitry Smirnov
2008-06-30 15:58             ` Dmitry Smirnov
2008-07-02 11:05               ` Dmitry Smirnov
2008-07-02 11:52                 ` Pedro Alves
2008-07-02 12:51                   ` Re[2]: " Dmitry Smirnov
2008-07-05  3:15                     ` Pedro Alves
2008-07-07  8:36                       ` Dmitry Smirnov
2008-07-07 14:29                         ` Pedro Alves
2008-07-07 15:47                           ` Dmitry Smirnov
2008-07-07 16:01                             ` Pedro Alves
2008-07-08  8:27                               ` Dmitry Smirnov
2008-07-01 11:38       ` Vladimir Prus
2008-07-01 11:41         ` Pedro Alves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1A952017-9DDE-4F6F-AE49-8C189A8E2737@surtec.com \
    --to=rj@surtec.com \
    --cc=divis1969@mail.ru \
    --cc=gdb@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox