D and GDB

H. S. Teoh via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Jun 4 18:07:51 PDT 2017


On Sun, Jun 04, 2017 at 07:24:17PM +0000, Basile B. via Digitalmars-d-learn wrote:
[...]
> you have to pipe the output to ddemangle.

Here's the output:

> > #0  0x00007fffffffc770 in ?? ()
> > #1  0x00007ffff7bb3d80 in dvb_scan_transponder () from
> > /usr/lib/x86_64-linux-gnu/libdvbv5.so.0
> > #2  0x000055555557026d in ref libdvbv5.ScanHandler_Ptr libdvbv5.ScanHandler_Ptr.__ctor(dvb_fe.dvb_v5_fe_parms*, dvb_file.dvb_entry*, int, extern (C) int function(void*, dvb_fe.dvb_v5_fe_parms*)*, uint, uint)
> > (this=..., frontendParameters=0x5555557b4830,
> >     entry=0x5555557aa0b0, dmx_fd=4, check_frontend=0x55555556f730
> > <checkFrontend>, other_nit=0, timeout_multiplier=1) at
> > /home/users/russel/Repositories/Git/Masters/DVBTune/source/libdvbv5.d:140
> > #3  0x000055555556fcea in channels.ChannelsData channels.TransmitterData.scan(const(libdvbv5.FrontendId), const(uint), const(uint), const(uint), const(uint), const(bool))
> > (this=..., fei=..., other_nit=0, timeout_multiplier=1, get_detected=1,
> > get_nit=1,
> >     dont_add_new_frequencies=false) at
> > /home/users/russel/Repositories/Git/Masters/DVBTune/source/channels.d:159
> > #4  0x0000555555583251 in _Dmain (args=...) at
> > /home/users/russel/Repositories/Git/Masters/DVBTune/source/main.d:35

The ?? on the first line is probably a function that has no debugging
info, perhaps from a library that wasn't compiled with debugging symbols
added.


> Personally i don't know how to do this by hand since my IDE does the
> task automatically
> (http://bbasile.github.io/Coedit/widgets_gdb_commander).

It can't be any more trivial than just running ddemangle, which is found
in the dlang/tools repo on github. (Arguably this should be shipped by
default with dmd... or is it already?)


T

-- 
My program has no bugs! Only unintentional features...


More information about the Digitalmars-d-learn mailing list