Bumping thread, this is still a problem for me. I wonder if this ever worked. I should try this with older GHCs.
Ömer Sergei Azovskov <la...@fb.com>, 26 Şub 2019 Sal, 19:21 tarihinde şunu yazdı: > > Hey! > > Unfortunately, I'm not a big expert in gdb and debugging ghc runtime. I > stripped some auto generated symbols from the symtab but they can still be > found in dwarf section. I don't know how to force gdb to show them but you > can manually check via dwarfdump. > ________________________________ > From: Ömer Sinan Ağacan <omeraga...@gmail.com> > Sent: Sunday, February 10, 2019 6:45 PM > To: Simon Marlow > Cc: ghc-devs; Sergei Azovskov > Subject: Re: How do I find out which info table a continuation belongs to? > > I'm already using -g3. Here's my build.mk: > > BuildFlavour = quick > > ifneq "$(BuildFlavour)" "" > include mk/flavours/$(BuildFlavour).mk > endif > > GhcRtsHcOpts += -O0 -g3 > SRC_HC_OPTS += -g3 > GhcStage1HcOpts += -g3 > GhcStage2HcOpts += -g3 > GhcLibHcOpts += -g3 > > STRIP_CMD = : > > Ömer > > Simon Marlow <marlo...@gmail.com>, 10 Şub 2019 Paz, 19:00 tarihinde şunu > yazdı: > > > > I believe this is due to > > https://urldefense.proofpoint.com/v2/url?u=https-3A__phabricator.haskell.org_D4722&d=DwIFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=kdITsLFp8oDGMKQlc9eIzA&m=TC61xap_n2utc37GJd4nKe0d_swgwMyqoHVKekcPDZk&s=I_8-wOL9DBs5msIWONBC1IwDvNFG-rXrOgrXVhBqt6Q&e= > > > > (cc Sergei Azovskov) > > > > I'm a bit surprised that gdb isn't showing anything though, it should know > > that the address corresponds to a temporary symbol like `.L1234`. Perhaps > > you need to compile with -g to make this work, I'm not sure. > > > > On Sun, 10 Feb 2019 at 07:50, Ömer Sinan Ağacan <omeraga...@gmail.com> > > wrote: > >> > >> I'm currently working on a bug and one of the things I often want to know > >> is > >> what's on the stack. The problem is I can't see labels of continuations so > >> the > >> information is really useless. Example: > >> > >> >>> call printStack(((StgTSO*)0x42000e0198)->stackobj) > >> 0x42000c8788: RET_SMALL (0x512d70) > >> 0x42000c8790: RET_SMALL (0x40edf0) > >> stk[5] (0x42000c8798) = 0x7b3938 > >> 0x42000c87a0: CATCH_FRAME(0x735a98,0x7d3ff2) > >> 0x42000c87b8: STOP_FRAME(0x7311b8) > >> > >> (I modified the printer to print stack locations when printing stacks) > >> > >> Here I need to know which info table the RET_SMALLs return to. Normally I > >> do > >> this for other kinds of closures: > >> > >> >>> print ((StgClosure*)...)->header.info > >> $15 = (const StgInfoTable *) 0x404dc0 <Main_nats_info> > >> > >> But for continuations that doesn't work: > >> > >> >>> print ((StgClosure*)0x42000c8788)->header.info > >> $11 = (const StgInfoTable *) 0x512d80 > >> >>> info symbol 0x512d80 > >> No symbol matches 0x512d80. > >> > >> Anyone know how to make this work? Can I maybe mark the continuations > >> label in > >> the generated assembly somehow to make those labels available in gdb? > >> > >> Thanks > >> > >> Ömer > >> _______________________________________________ > >> ghc-devs mailing list > >> ghc-devs@haskell.org > >> https://urldefense.proofpoint.com/v2/url?u=http-3A__mail.haskell.org_cgi-2Dbin_mailman_listinfo_ghc-2Ddevs&d=DwIFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=kdITsLFp8oDGMKQlc9eIzA&m=TC61xap_n2utc37GJd4nKe0d_swgwMyqoHVKekcPDZk&s=OIXAtMjQkAnHAverwOpWQrKM1GIy-Eo85s3wxcnOqfU&e= _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs