[Qt-creator] Strange problem with gdbmacros.dll on Windows XP

Stefan Muenkner stefan.muenkner at uks.eu
Tue Apr 27 20:42:29 CEST 2010


(Note beforehand, everything works fine under Vista on a laptop, but I am
trying to debug an interface to a hardware that only runs under WinXP)

OS: WinXP SP3
QT-SDK 4.6.2/20010.02.1 open source (installed at C:\Qt\2010.02\)
qt-creator: 1.3.1

I am somewhat at a loss here. I am trying to debug a program and somehow
the gdbmacros.dll does not work under WinXP. While the qt-creator
preferences tell me that gdbmacros.dll is there or if built anew, was
created successfully, gdb does not seem to be able to open it correctly: I
think the relevant output of gdb is the following.




------------------<snip-snip>------------------------------

<221-break-insert -f "\"PhysicalQuantity.cpp\":100"
>221^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0044926c",func="PhysicalQuantity::initFrom(QString
const&)",file="PhysicalQuantity.cpp",fullname="D:\\scanclamp\\src\\phyqu/PhysicalQuantity.cpp",line="100",times="0"}
dALL COMMANDS DONE; INVOKING CALLBACK
dBREAKPOINTS SET, CONTINUING INFERIOR STARTUP
dState changed from InferiorStopped(13) to InferiorRunningRequested(8).
<222-exec-continue
>222^running
dState changed from InferiorRunningRequested(8) to InferiorRunning(10).
sLäuft...
>~"[Switching to thread 3972.0xc0c]\n"
>222*stopped,reason="breakpoint-hit",bkptno="1",thread-id="1",frame={addr="0x0044926c",func="PhysicalQuantity::initFrom",args=[{name="this",value="0x22fa68"},{name="s",value="@0x22fa2c"}],file="PhysicalQuantity.cpp",fullname="D:\\scanclamp\\src\\phyqu/PhysicalQuantity.cpp",line="100"}
dState changed from InferiorRunning(10) to InferiorStopping(11).
dState changed from InferiorStopping(11) to InferiorStopped(13).
dDumper injection loading triggered
(C:\Qt\2010.02\qt\qtc-debugging-helper\debug\gdbmacros.dll)...
<223p 4
>&"p 4\n"
>~"$1 = 4"
>~"\n"
>223^done
<224info shared
<225-break-list
sAn Haltepunkt angehalten.
<226call (void*)qDumpObjectData440(1,226+1,0,0,0,0,0,0)
<227p (char*)&qDumpOutBuffer
<228-stack-list-arguments 2 0 0
<229-stack-list-locals 2
<230-stack-list-frames 0 20
<231-thread-list-ids
>&"info shared\n"

------------------<snip-snip>------------------------------

>225^done,BreakpointTable={nr_rows="1",nr_cols="6",hdr=[{width="7",alignment="-1",col_name="number",colhdr="Num"},{width="14",alignment="-1",col_name="type",colhdr="Type"},{width="4",alignment="-1",col_name="disp",colhdr="Disp"},{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},{width="10",alignment="-1",col_name="addr",colhdr="Address"},{width="40",alignment="2",col_name="what",colhdr="What"}],body=[bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0044926c",func="PhysicalQuantity::initFrom(QString
const&)",file="PhysicalQuantity.cpp",fullname="D:\\scanclamp\\src\\phyqu/PhysicalQuantity.cpp",line="100",times="1"}]}
>&"call (void*)qDumpObjectData440(1,226+1,0,0,0,0,0,0)\n"
>&"No symbol \"qDumpObjectData440\" in current context.\n"
>226^error,msg="No symbol \"qDumpObjectData440\" in current context."
>&"p (char*)&qDumpOutBuffer\n"
>&"No symbol \"qDumpOutBuffer\" in current context.\n"
>227^error,msg="No symbol \"qDumpOutBuffer\" in current context."
sDie Ausgabe-Hilfsbibliothek konnte nicht gefunden werden.



It looks, like it's loading/injecting gdbmacros.dll but then spits out
some garbled symbols:
 <223p 4
 >&"p 4\n"
 >~"$1 = 4"
 >~"\n"

where it should report the version, and number of symbols in gdbmacros.dll.

Later on, it cannot find DumpObjectData440 and consequently the whole
pretty printing does not work.

I appreciate any pointer where to look at.

Thanks in advance,
   Stefan



More information about the Qt-creator-old mailing list