When evaluating watches, Lazarus randomly forces debugger to stop.
Original Reporter info from Mantis: Cyrax
-
Reporter name:
Original Reporter info from Mantis: Cyrax
- Reporter name:
Description:
Target system: win32, Free Pascal trunk 2.7.1-r25060, Lazarus trunk 1.1-r42051
fpc make options all install sourceinstall UPXPROG=echo OPT="-gw2 -godwarfsets
-gl -O- -OoNO -Xs-" COMPILER_OPTIONS="-gw2 -godwarfsets -gl -O- -OoNO -Xs-" INST
ALL_PREFIX=I:\free_pascal_and_lazarus\free_pascal_and_lazarus\fpc\trunk\build\tr
unk_x32 REVSTR=25060 IDE=1
lazarus make options make all UPXPROG=echo OPT="-gw2 -godwarfsets -gh -gl -O- -
OoNO -dHEAPTRC_WINDOW -Xs-" USESVN2REVISIONINC=0
The GDB command:
"-data-evaluate-expression AStr"
returned the error:
",value="0x42e42ec 'D:\'""
Excerpt from log:
---
Executing (Recurse-Count=0) queued= 2 CmdPrior=0 CmdMinRunLvl=0 : "TGDBMIDebuggerCommandEvaluate: AStr Thread=1, Frame=0" State=Pause PauseWaitState=0
>>Enter: TGDBType.ProcessExpression: Expr="AStr", Flags=[gtcfClassIsPointer, gtcfExprEvaluate, gtcfExprEvalStrFixed], State=gtpsInitial
<<Exit: TGDBType.ProcessExpression: state = gtpsInitialSimple Result=False Kind=skSimple Attr= Typename="" InternTpName="" TypeDeclaration=""
>> TCmdLineDebugger.SendCmdLn "ptype AStr"
<< TCmdLineDebugger.ReadLn "&"ptype AStr\n""
<< TCmdLineDebugger.ReadLn "~"type = ^Char\n""
<< TCmdLineDebugger.ReadLn "^done"
<< TCmdLineDebugger.ReadLn "(gdb) "
ParseTypeFromGdb: Flags=[ptprfPointer] Kind=ptprkSimple Name="^Char"
>>Enter: TGDBType.ProcessExpression: Expr="AStr", Flags=[gtcfClassIsPointer, gtcfExprEvaluate, gtcfExprEvalStrFixed], State=gtpsInitialSimple
<<Exit: TGDBType.ProcessExpression: state = gtpsInitialSimple Result=False Kind=skSimple Attr= Typename="" InternTpName="" TypeDeclaration=""
>> TCmdLineDebugger.SendCmdLn "ptype AStr^"
<< TCmdLineDebugger.ReadLn "&"ptype AStr^\n""
<< TCmdLineDebugger.ReadLn "~"type = Char\n""
<< TCmdLineDebugger.ReadLn "^done"
<< TCmdLineDebugger.ReadLn "(gdb) "
ParseTypeFromGdb: Flags= Kind=ptprkSimple Name="Char"
>>Enter: TGDBType.ProcessExpression: Expr="AStr", Flags=[gtcfClassIsPointer, gtcfExprEvaluate, gtcfExprEvalStrFixed], State=gtpsInitialSimple
<<Exit: TGDBType.ProcessExpression: state = gtpsSimplePointer Result=False Kind=skSimple Attr= Typename="" InternTpName="" TypeDeclaration=""
>> TCmdLineDebugger.SendCmdLn "whatis AStr"
<< TCmdLineDebugger.ReadLn "&"whatis AStr\n""
<< TCmdLineDebugger.ReadLn "~"type = ANSISTRING\n""
<< TCmdLineDebugger.ReadLn "^done"
<< TCmdLineDebugger.ReadLn "(gdb) "
ParseTypeFromGdb: Flags= Kind=ptprkSimple Name="ANSISTRING"
>>Enter: TGDBType.ProcessExpression: Expr="AStr", Flags=[gtcfClassIsPointer, gtcfExprEvaluate, gtcfExprEvalStrFixed], State=gtpsSimplePointer
<<Exit: TGDBType.ProcessExpression: state = gtpsEvalExpr Result=False Kind=skPointer Attr= Typename="ANSISTRING" InternTpName="ANSISTRING" TypeDeclaration=""
>> TCmdLineDebugger.SendCmdLn "-data-evaluate-expression AStr"
<< TCmdLineDebugger.ReadLn "^done,value="0x42e42ec 'D:\\'""
>> TCmdLineDebugger.SendCmdLn "-data-evaluate-expression 7"
>> TCmdLineDebugger.SendCmdLn "-data-evaluate-expression 1"
<< TCmdLineDebugger.ReadLn "(gdb) "
DebuggerState: Setting to Error, from Pause
DebugDataMonitor: >>ENTER: TGDBMIThreads.DoStateChange New-State=Error
DebugDataMonitor: <<EXIT: TGDBMIThreads.DoStateChange
DebugDataMonitor: >>ENTER: TGDBMICallStack.DoStateChange New-State=Error
DebugDataMonitor: <<EXIT: TGDBMICallStack.DoStateChange
DebugDataMonitor: >>ENTER: TGDBMILocals.DoStateChange New-State=Error
DebugDataMonitor: <<EXIT: TGDBMILocals.DoStateChange
DebugDataMonitor: >>ENTER: TGDBMIWatches.DoStateChange New-State=Error
DebugDataMonitor: <<EXIT: TGDBMIWatches.DoStateChange
Canceling: "TGDBMIDebuggerCommandEvaluate: BStr Thread=1, Frame=0"
Canceling: "TGDBMIDebuggerCommandEvaluate: ABuffer Thread=1, Frame=0"
Canceling: "TGDBMIDebuggerCommandEvaluate: AStr Thread=1, Frame=0"
>> TCmdLineDebugger.SendCmdLn "kill"
DebugDataWindow: TCallStackDlg.CallStackCurrent from TCallStackMonitor Upd:True
DebugDataWindow: TCallStackDlg.UpdateView in IsUpdating
DebugDataWindow: TWatchesDlg.ContextChanged TCallStackMonitor Upd:True
DebugDataWindow: TWatchesDlg.UpdateAll: TWatchesDlg.UpdateAll in IsUpdating:
DebugDataMonitor: >>ENTER: TSnapshotManager.DoStateChange New-State=Error
DebugDataMonitor: <<EXIT: TSnapshotManager.DoStateChange
DebugDataWindow: TWatchesDlg.UpdateAll: >>ENTER: TWatchesDlg.UpdateAll
DebugDataWindow: TWatchesDlg.WatchUpdate Upd:False Watch=APrevProc
DebugDataWindow: TWatchesDlg.WatchUpdate
DebugDataWindow: TWatchesDlg.WatchUpdate Upd:False Watch=ASelfPtr
DebugDataWindow: TWatchesDlg.WatchUpdate
DebugDataWindow: TWatchesDlg.WatchUpdate Upd:False Watch=APrevSelfPtr
DebugDataWindow: TWatchesDlg.WatchUpdate
DebugDataWindow: TWatchesDlg.WatchUpdate Upd:False Watch=AShift
DebugDataWindow: TWatchesDlg.WatchUpdate
DebugDataWindow: TWatchesDlg.WatchUpdate Upd:False Watch=AShiftBool
DebugDataWindow: TWatchesDlg.WatchUpdate
DebugDataWindow: TWatchesDlg.WatchUpdate Upd:False Watch=AShiftBool2
DebugDataWindow: TWatchesDlg.WatchUpdate
DebugDataWindow: TWatchesDlg.WatchUpdate Upd:False Watch=BReader
DebugDataWindow: TWatchesDlg.WatchUpdate
DebugDataWindow: TWatchesDlg.WatchUpdate Upd:False Watch=CReader
DebugDataWindow: TWatchesDlg.WatchUpdate
DebugDataWindow: TWatchesDlg.WatchUpdate Upd:False Watch=AStr
DebugDataWindow: TWatchesDlg.WatchUpdate
DebugDataWindow: TWatchesDlg.WatchUpdate Upd:False Watch=ABuffer
DebugDataWindow: TWatchesDlg.WatchUpdate
DebugDataWindow: TWatchesDlg.WatchUpdate Upd:False Watch=BStr
DebugDataWindow: TWatchesDlg.WatchUpdate
DebugDataWindow: TWatchesDlg.UpdateAll: <<EXIT: TWatchesDlg.UpdateAll
DebugDataWindow: >>ENTER: TCallStackDlg.UpdateView
TDebugManager.GetFullFilename searching Unit=, Class=, Func=EXECUTE_THREADED_
DebugDataWindow: <<EXIT: TCallStackDlg.UpdateView
DebuggerState: Finished Error
>>Enter: TGDBType.ProcessExpression: Expr="AStr", Flags=[gtcfClassIsPointer, gtcfExprEvaluate, gtcfExprEvalStrFixed], State=gtpsEvalExpr
<<Exit: TGDBType.ProcessExpression: state = gtpsFinished Result=True Kind=skPointer Attr= Typename="ANSISTRING" InternTpName="ANSISTRING" TypeDeclaration=""
DebugDataMonitor: TWatchValue.SetValidity: FThreadId=1 FStackFrame=0 Expr=AStr AValidity=ddsInvalid
DebugDataWindow: TWatchesDlg.WatchUpdate Upd:False Watch=AStr
DebugDataWindow: TWatchesDlg.WatchUpdate
---
Mantis conversion info:
- Mantis ID: 24729