public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Martin Simmons <qqxnjvamvxwx@dyxyl.com>
To: Mahmood Naderan <nt_mahmood@yahoo.com>
Cc: gdb@sourceware.org
Subject: Re: How to check if .gdbinit macros have been loaded?
Date: Thu, 12 Aug 2021 16:03:45 +0100	[thread overview]
Message-ID: <je8s161z8u.fsf@dyxyl.com> (raw)
In-Reply-To: <668903330.868573.1628690946039@mail.yahoo.com> (message from Mahmood Naderan on Wed, 11 Aug 2021 14:09:06 +0000 (UTC))

>>>>> On Wed, 11 Aug 2021 14:09:06 +0000 (UTC), Mahmood Naderan said:
> 
> >What makes you think these commands (macros) will be called
> >automatically?  I think you have to call them yourself from the gdb
> >command line. 
> >BTW, the "show user" command will tell you if a particular user defined
> command exists.
> 
> Hi Martin,
> Yes if I run ''show user" I see the functions defined in the .gdbinit file.
> 
> I tried your suggestion by manually calling one of the functions which is 'dp 3' [1]. However, it fails with the following error:
> 
> 
> accel-sim.out: shader.cc:1657: unsigned int shader_core_ctx::translate_local_memaddr(address_type, unsigned int, unsigned int, unsigned int, new_addr_type*): Assertion `localaddr % 4 == 0' failed.
> 
> Program received signal SIGABRT, Aborted.
> __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
> 50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
> (gdb) dp 3
> Dumping pipeline state...
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff7ba9468 in gpgpu_sim::dump_pipeline (this=0x0, mask=69, s=3, m=0) at gpu-sim.cc:2028
> 2028      for (unsigned i = 0; i < m_shader_config->n_simt_clusters; i++) {
> The program being debugged was signaled while in a function called from GDB.
> GDB has restored the context to what it was before the call.
> To change this behavior use "set unwindonsignal off".
> Evaluation of the expression containing the function
> (gpgpu_sim::dump_pipeline(int, int, int) const) will be abandoned.
> 
> 
> 
> I don't know if the .gdbinit functions can be used after the program receives segmentation fault.

Was it actually SIGABRT that stopped the program initially, rather than
segmentation fault?

> Any thoughts on that?

The segmentation fault message says this=0x0, which probably causes it.
The value of "this" comes from gdb's evaluation of
GPGPU_Context()->the_gpgpusim->g_the_gpu so maybe that is NULL at that
point in the program?

__Martin


> 
> 
> 
> [1] https://github.com/gpgpu-sim/gpgpu-sim_distribution/blob/master/.gdbinit#L10
> 
> 
> Regards,
> Mahmood
> 
> 
> 
> 
> 
> 
> On Monday, August 9, 2021, 4:31:34 PM GMT+2, Martin Simmons <qqxnjvamvxwx@dyxyl.com> wrote: 
> 
> 
> 
> 
> 
>>>>> On Sun, 8 Aug 2021 13:28:32 +0000 (UTC), Mahmood Naderan via Gdb said:
> > 
> > Hi
> > 
> > I use a .gdbinit [1] file which is supposed to print some debug information when the program is being run. 
> > When I run GDB, the first printf is written on the screen. So, that means the .gdbinit file has been loaded.
> > However, I don't see the rest of the information that must be printed on the screen. There are a lot of printf for this purpose.
> 
> The other printfs are inside define ... end, so you will only see them
> when the named command is used.
> 
> 
> > How can I be sure that the rest of the macros are called? Maybe they hit errors and I am not able to see those errors.
> 
> 
> What makes you think these commands (macros) will be called
> automatically?  I think you have to call them yourself from the gdb
> command line.
> 
> BTW, the "show user" command will tell you if a particular user defined
> command exists.
> 
> __Martin
> 

  reply	other threads:[~2021-08-12 15:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <526939713.188425.1628429312671.ref@mail.yahoo.com>
2021-08-08 13:28 ` Mahmood Naderan
2021-08-09 14:31   ` Martin Simmons
2021-08-11 14:09     ` Mahmood Naderan
2021-08-12 15:03       ` Martin Simmons [this message]
2021-08-12 17:32         ` Mahmood Naderan

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=je8s161z8u.fsf@dyxyl.com \
    --to=qqxnjvamvxwx@dyxyl.com \
    --cc=gdb@sourceware.org \
    --cc=nt_mahmood@yahoo.com \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).