View Issue Details

IDProjectCategoryView StatusLast Update
0020423LazarusDebuggerpublic2011-10-07 09:14
ReporterFelipe Monteiro de CarvalhoAssigned ToFelipe Monteiro de Carvalho 
PrioritynormalSeverityminorReproducibilityrandom
Status resolvedResolutionfixed 
Product VersionProduct Build 
Target VersionFixed in Version0.9.31 (SVN) 
Summary0020423: GetForegroundWindow crashes/freezes the IDE
DescriptionRecently I've been getting quite frequent debugger freezes and crashes. Seams like a regression. It happens rather randomly, but quite offen. I will post crash traces here.
TagsNo tags attached.
Fixed in Revision32725
LazTarget0.99.0
WidgetsetGTK 2
Attached Files
  • debug.txt (67,465 bytes)
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env GCONF_TMPDIR=/tmp" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env GCONF_TMPDIR=/tmp"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env G_FILENAME_ENCODING=@locale" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env G_FILENAME_ENCODING=@locale"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env GPG_AGENT_INFO=/tmp/gpg-SCllcH/S.gpg-agent:1773:1" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env GPG_AGENT_INFO=/tmp/gpg-SCllcH/S.gpg-agent:1773:1"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env GS_LIB=/home/felipe/.fonts" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env GS_LIB=/home/felipe/.fonts"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env GTK_MODULES=canberra-gtk-module" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env GTK_MODULES=canberra-gtk-module"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env HISTCONTROL=ignoredups" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env HISTCONTROL=ignoredups"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env HISTSIZE=1000" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env HISTSIZE=1000"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env HOME=/home/felipe" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env HOME=/home/felipe"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env HOSTNAME=localhost" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env HOSTNAME=localhost"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env INPUTRC=/etc/inputrc" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env INPUTRC=/etc/inputrc"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env KDE_COLOR_DEBUG=1" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env KDE_COLOR_DEBUG=1"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env KDE_FULL_SESSION=true" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env KDE_FULL_SESSION=true"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env KDE_MULTIHEAD=false" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env KDE_MULTIHEAD=false"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env KDE_SESSION_UID=500" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env KDE_SESSION_UID=500"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env KDE_SESSION_VERSION=4" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env KDE_SESSION_VERSION=4"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env KONSOLE_DBUS_SERVICE=:1.30" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env KONSOLE_DBUS_SERVICE=:1.30"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env KONSOLE_DBUS_SESSION=/Sessions/3" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env KONSOLE_DBUS_SESSION=/Sessions/3"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LANG=en_GB.UTF-8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LANG=en_GB.UTF-8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LANGUAGE=en_GB.UTF-8:en_GB:en" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LANGUAGE=en_GB.UTF-8:en_GB:en"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_ADDRESS=pl_PL.UTF-8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_ADDRESS=pl_PL.UTF-8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_COLLATE=en_GB.UTF-8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_COLLATE=en_GB.UTF-8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_CTYPE=en_GB.UTF-8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_CTYPE=en_GB.UTF-8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_IDENTIFICATION=pl_PL.UTF-8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_IDENTIFICATION=pl_PL.UTF-8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_MEASUREMENT=pl_PL.UTF-8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_MEASUREMENT=pl_PL.UTF-8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_MESSAGES=en_GB.UTF-8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_MESSAGES=en_GB.UTF-8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_MONETARY=pl_PL.UTF-8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_MONETARY=pl_PL.UTF-8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_NAME=pl_PL.UTF-8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_NAME=pl_PL.UTF-8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_NUMERIC=pl_PL.UTF-8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_NUMERIC=pl_PL.UTF-8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_PAPER=pl_PL.UTF-8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_PAPER=pl_PL.UTF-8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_SOURCED=1" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_SOURCED=1"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_TELEPHONE=pl_PL.UTF-8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_TELEPHONE=pl_PL.UTF-8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_TIME=en_GB.UTF-8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_TIME=en_GB.UTF-8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LESSCHARSET=utf-8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LESSCHARSET=utf-8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LESSKEY=/etc/.less" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LESSKEY=/etc/.less"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LESS=-MM" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LESS=-MM"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LESSOPEN=|/usr/bin/lesspipe.sh %s" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LESSOPEN=|/usr/bin/lesspipe.sh %s"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LINES=44" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LINES=44"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LOGNAME=felipe" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LOGNAME=felipe"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.iso=01;31:*.jpg=01;35:*.jpeg=01;35:*.JPG=01;35:*.JPEG=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.ico=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.divx=01;35:*.xvid=01;35:*.3gp=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:*.mp2=00;36:*.mod=00;36:*.xm=00;36:*.s3m=00;36:*.it=00;36:*.wma=00;36:*~=47;30:*.bak=47;30:*.swp=47;30:*.bck=47;30:*.bk=47;30:*.old=47;30:*.tmp=47;30:*.save=47;30:*.rpmsave=47;30:*.rpmnew=47;30:" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.iso=01;31:*.jpg=01;35:*.jpeg=01;35:*.JPG=01;35:*.JPEG=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.ico=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.divx=01;35:*.xvid=01;35:*.3gp=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:*.mp2=00;36:*.mod=00;36:*.xm=00;36:*.s3m=00;36:*.it=00;36:*.wma=00;36:*~=47;30:*.bak=47;30:*.swp=47;30:*.bck=47;30:*.bk=47;30:*.old=47;30:*.tmp=47;30:*.save=47;30:*.rpmsave=47;30:*.rpmnew=47;30:"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env MAIL=/var/spool/mail/felipe" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env MAIL=/var/spool/mail/felipe"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env MALLOC_CHECK_=2" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env MALLOC_CHECK_=2"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env MDV_MENU_STYLE=mandriva" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env MDV_MENU_STYLE=mandriva"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env META_CLASS=desktop" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env META_CLASS=desktop"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env NLSPATH=/usr/share/locale/%l/%N" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env NLSPATH=/usr/share/locale/%l/%N"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env PATH=/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin/:/usr/games:/usr/lib/qt4/bin:/home/felipe/bin" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env PATH=/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin/:/usr/games:/usr/lib/qt4/bin:/home/felipe/bin"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env PROFILEHOME=" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env PROFILEHOME="
      << TCmdLineDebugger.ReadLn "~"Setting environment variable \"PROFILEHOME\" to null value.\n""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env PWD=/home/felipe/Programas/lazarus" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env PWD=/home/felipe/Programas/lazarus"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env PYTHONDONTWRITEBYTECODE=1" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env PYTHONDONTWRITEBYTECODE=1"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env PYTHONPATH=/usr/lib/ooo/basis-link/program:/usr/lib/ooo/basis-link/program" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env PYTHONPATH=/usr/lib/ooo/basis-link/program:/usr/lib/ooo/basis-link/program"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env PYTHONSTARTUP=/etc/pythonrc.py" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env PYTHONSTARTUP=/etc/pythonrc.py"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env QT4DOCDIR=/usr/share/doc/qt4/doc" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env QT4DOCDIR=/usr/share/doc/qt4/doc"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env QTDIR=/usr/lib/qt4" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env QTDIR=/usr/lib/qt4"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env QTEST_COLORED=1" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env QTEST_COLORED=1"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env QTINC=/usr/lib/qt3/include" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env QTINC=/usr/lib/qt3/include"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env QTLIB=/usr/lib" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env QTLIB=/usr/lib"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env QT_PLUGIN_PATH=/home/felipe/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env QT_PLUGIN_PATH=/home/felipe/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env QT_XFT=0" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env QT_XFT=0"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env SESSION_MANAGER=local/localhost:@/tmp/.ICE-unix/2199,unix/localhost:/tmp/.ICE-unix/2199" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env SESSION_MANAGER=local/localhost:@/tmp/.ICE-unix/2199,unix/localhost:/tmp/.ICE-unix/2199"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env SHELL=/bin/bash" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env SHELL=/bin/bash"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env SHLVL=3" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env SHLVL=3"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env SSH_ASKPASS=/usr/lib/ssh/ssh-askpass" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env SSH_ASKPASS=/usr/lib/ssh/ssh-askpass"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env TERM=xterm" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env TERM=xterm"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env TMPDIR=/tmp/" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env TMPDIR=/tmp/"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env TMP=/tmp/" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env TMP=/tmp/"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env USER=felipe" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env USER=felipe"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env _=/usr/bin/gdb" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env _=/usr/bin/gdb"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env WINDOWID=44040220" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env WINDOWID=44040220"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env WINDOWPATH=8" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env WINDOWPATH=8"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env XCURSOR_THEME=default" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env XCURSOR_THEME=default"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env XDG_CONFIG_DIRS=/etc/xdg:/etc/xdg/kde4" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env XDG_CONFIG_DIRS=/etc/xdg:/etc/xdg/kde4"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env XDG_DATA_DIRS=/usr/share:/usr/share:/usr/local/share" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env XDG_DATA_DIRS=/usr/share:/usr/share:/usr/local/share"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env XDG_MENU_PREFIX=kde-" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env XDG_MENU_PREFIX=kde-"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env XDG_SESSION_COOKIE=209d528efc0e0d32f69a61de0000003d-1317887483.787093-45227082" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env XDG_SESSION_COOKIE=209d528efc0e0d32f69a61de0000003d-1317887483.787093-45227082"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env XDM_MANAGED=method=classic" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env XDM_MANAGED=method=classic"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env XMODIFIERS=@im=none" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-gdb-set env XMODIFIERS=@im=none"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    [TDebugger.SetFileName] "/home/felipe/Programas/test/custdraw/custdraw"
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerCommandChangeFilename" State=Idle PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-file-exec-and-symbols "/home/felipe/Programas/test/custdraw/custdraw""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Idle
    DebuggerState: Setting to Stop, from Idle
      DebugEvent: Enter >> DoBeforeState <<  State=Stop
      DebugEvent: Exit  >> DoBeforeState <<
      DebugEvent: Enter >> DoState <<  State=Stop
      DebugEvent: Exit  >> DoState <<
    DebuggerState: Finished Stop
    [TMainIDE.DoRunProject] B TGDBMIDebugger
    [TMainIDE.DoRunProject] END
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerCommandStartDebugging: ContinueCommand= TGDBMIDebuggerCommandExecute: -exec-continue" State=Stop PauseWaitState=0
      TGDBMIDebugger.StartDebugging WorkingDir="/home/felipe/Programas/test/custdraw/"
      >> TCmdLineDebugger.SendCmdLn "-environment-cd ."
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-environment-cd "/home/felipe/Programas/test/custdraw/""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-data-evaluate-expression FPC_THREADVAR_RELOCATE_PROC"
      << TCmdLineDebugger.ReadLn "^error,msg="No symbol \"FPC_THREADVAR_RELOCATE_PROC\" in current context.""
      TGDBMIDebugger.ProcessResult Error: ,msg="No symbol \"FPC_THREADVAR_RELOCATE_PROC\" in current context."
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "info functions FPC_CPUINIT"
      << TCmdLineDebugger.ReadLn "&"info functions FPC_CPUINIT\n""
      [Debugger] Log output: &"info functions FPC_CPUINIT\n"
      << TCmdLineDebugger.ReadLn "~"All functions matching regular expression \"FPC_CPUINIT\":\n""
      << TCmdLineDebugger.ReadLn "~"\n""
      << TCmdLineDebugger.ReadLn "~"Non-debugging symbols:\n""
      << TCmdLineDebugger.ReadLn "~"0x0805f150  SYSTEM_FPC_CPUINIT\n""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-exec-arguments "
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "set width 50000"
      << TCmdLineDebugger.ReadLn "&"set width 50000\n""
      [Debugger] Log output: &"set width 50000\n"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Detaching after fork from child process 17286.
      >> TCmdLineDebugger.SendCmdLn "set inferior-tty /dev/pts/4"
      << TCmdLineDebugger.ReadLn "&"set inferior-tty /dev/pts/4\n""
      [Debugger] Log output: &"set inferior-tty /dev/pts/4\n"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-gdb-set language pascal"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "info address main"
      << TCmdLineDebugger.ReadLn "&"info address main\n""
      [Debugger] Log output: &"info address main\n"
      << TCmdLineDebugger.ReadLn "~"Symbol \"main\" is a function at address 0x805dd80.\n""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-break-insert -t *134602112"
      << TCmdLineDebugger.ReadLn "^done,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x0805dd80",func="main",file="custdraw.lpr",fullname="/home/felipe/Programas/test/custdraw/custdraw.lpr",line="14",times="0",original-location="*134602112"}"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "ptype TObject"
      << TCmdLineDebugger.ReadLn "&"ptype TObject\n""
      [Debugger] Log output: &"ptype TObject\n"
      << TCmdLineDebugger.ReadLn "~"type = ^TOBJECT = class \n""
      << TCmdLineDebugger.ReadLn "~"end\n""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "ptype Exception"
      << TCmdLineDebugger.ReadLn "&"ptype Exception\n""
      [Debugger] Log output: &"ptype Exception\n"
      << TCmdLineDebugger.ReadLn "~"type = EXCEPTION = class : public TOBJECT \n""
      << TCmdLineDebugger.ReadLn "~"  private\n""
      << TCmdLineDebugger.ReadLn "~"    FMESSAGE : ANSISTRING;\n""
      << TCmdLineDebugger.ReadLn "~"    FHELPCONTEXT : LONGINT;\n""
      << TCmdLineDebugger.ReadLn "~"\n""
      << TCmdLineDebugger.ReadLn "~"  public\n""
      << TCmdLineDebugger.ReadLn "~"    constructor CREATE (EXCEPTION, POINTER, ANSISTRING) : ^EXCEPTION;\n""
      << TCmdLineDebugger.ReadLn "~"    constructor CREATEFMT (EXCEPTION, POINTER, ANSISTRING, unnamedtype, ONGINT, ) : ^EXCEPTION;\n""
      << TCmdLineDebugger.ReadLn "~"    constructor CREATERES (EXCEPTION, POINTER, PSTRING) : ^EXCEPTION;\n""
      << TCmdLineDebugger.ReadLn "~"    constructor CREATERESFMT (EXCEPTION, POINTER, PSTRING, unnamedtype, ONGINT, ) : ^EXCEPTION;\n""
      << TCmdLineDebugger.ReadLn "~"    constructor CREATEHELP (EXCEPTION, POINTER, ANSISTRING, ONGINT, ) : ^EXCEPTION;\n""
      << TCmdLineDebugger.ReadLn "~"    constructor CREATEFMTHELP (EXCEPTION, POINTER, ANSISTRING, unnamedtype, ONGINT7, ) : ^EXCEPTION;\n""
      << TCmdLineDebugger.ReadLn "~"    constructor CREATERESHELP (EXCEPTION, POINTER, PSTRING, LONGINT) : ^EXCEPTION;\n""
      << TCmdLineDebugger.ReadLn "~"    constructor CREATERESFMTHELP (EXCEPTION, POINTER, PSTRING, unnamedtype, ONGINT7, ) : ^EXCEPTION;\n""
      << TCmdLineDebugger.ReadLn "~"end\n""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "ptype Shortstring"
      << TCmdLineDebugger.ReadLn "&"ptype Shortstring\n""
      [Debugger] Log output: &"ptype Shortstring\n"
      << TCmdLineDebugger.ReadLn "~"type = SHORTSTRING = record \n""
      << TCmdLineDebugger.ReadLn "~"    length : BYTE;\n""
      << TCmdLineDebugger.ReadLn "~"    st : array [1..255] of CHAR;\n""
      << TCmdLineDebugger.ReadLn "~"end\n""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "ptype pointer"
      << TCmdLineDebugger.ReadLn "&"ptype pointer\n""
      [Debugger] Log output: &"ptype pointer\n"
      << TCmdLineDebugger.ReadLn "~"type = ^POINTER\n""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "ptype byte"
      << TCmdLineDebugger.ReadLn "&"ptype byte\n""
      [Debugger] Log output: &"ptype byte\n"
      << TCmdLineDebugger.ReadLn "~"type = BYTE\n""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "info address FPC_RAISEEXCEPTION"
      << TCmdLineDebugger.ReadLn "&"info address FPC_RAISEEXCEPTION\n""
      [Debugger] Log output: &"info address FPC_RAISEEXCEPTION\n"
      << TCmdLineDebugger.ReadLn "~"Symbol \"FPC_RAISEEXCEPTION\" is at 0x806ce20 in a file compiled without debugging.\n""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-break-insert *134663712"
      << TCmdLineDebugger.ReadLn "^done,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x0806ce20",at="<fpc_raiseexception>",times="0",original-location="*134663712"}"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "info address FPC_BREAK_ERROR"
      << TCmdLineDebugger.ReadLn "&"info address FPC_BREAK_ERROR\n""
      [Debugger] Log output: &"info address FPC_BREAK_ERROR\n"
      << TCmdLineDebugger.ReadLn "~"Symbol \"FPC_BREAK_ERROR\" is at 0x806fe80 in a file compiled without debugging.\n""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-break-insert *134676096"
      << TCmdLineDebugger.ReadLn "^done,bkpt={number="3",type="breakpoint",disp="keep",enabled="y",addr="0x0806fe80",at="<SYSTEM_HANDLEERRORADDRFRAME$LONGINT$POINTER$POINTER>",times="0",original-location="*134676096"}"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "info address FPC_RUNERROR"
      << TCmdLineDebugger.ReadLn "&"info address FPC_RUNERROR\n""
      [Debugger] Log output: &"info address FPC_RUNERROR\n"
      << TCmdLineDebugger.ReadLn "~"Symbol \"FPC_RUNERROR\" is at 0x806ff80 in a file compiled without debugging.\n""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-break-insert *134676352"
      << TCmdLineDebugger.ReadLn "^done,bkpt={number="4",type="breakpoint",disp="keep",enabled="y",addr="0x0806ff80",at="<SYSTEM_RUNERROR$WORD>",times="0",original-location="*134676352"}"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "info file"
      << TCmdLineDebugger.ReadLn "&"info file\n""
      [Debugger] Log output: &"info file\n"
      << TCmdLineDebugger.ReadLn "~"Symbols from \"/home/felipe/Programas/test/custdraw/custdraw\".\n""
      << TCmdLineDebugger.ReadLn "~"Local exec file:\n""
      << TCmdLineDebugger.ReadLn "~"\t`/home/felipe/Programas/test/custdraw/custdraw', file type elf32-i386.\n""
      << TCmdLineDebugger.ReadLn "~"\tEntry point: 0x8332700\n""
      << TCmdLineDebugger.ReadLn "~"\t0x080480f4 - 0x08048107 is .interp\n""
      << TCmdLineDebugger.ReadLn "~"\t0x08048108 - 0x0804a450 is .hash\n""
      << TCmdLineDebugger.ReadLn "~"\t0x0804a450 - 0x0804f0e0 is .dynsym\n""
      << TCmdLineDebugger.ReadLn "~"\t0x0804f0e0 - 0x080561e6 is .dynstr\n""
      << TCmdLineDebugger.ReadLn "~"\t0x080561e6 - 0x08056b78 is .gnu.version\n""
      << TCmdLineDebugger.ReadLn "~"\t0x08056b78 - 0x08056bf8 is .gnu.version_r\n""
      << TCmdLineDebugger.ReadLn "~"\t0x08056bf8 - 0x08056cb0 is .rel.dyn\n""
      << TCmdLineDebugger.ReadLn "~"\t0x08056cb0 - 0x08059210 is .rel.plt\n""
      << TCmdLineDebugger.ReadLn "~"\t0x08059210 - 0x0805921a is .init\n""
      << TCmdLineDebugger.ReadLn "~"\t0x0805921c - 0x0805dcec is .plt\n""
      << TCmdLineDebugger.ReadLn "~"\t0x0805dcf0 - 0x083327aa is .text\n""
      << TCmdLineDebugger.ReadLn "~"\t0x083327aa - 0x083327af is .fini\n""
      << TCmdLineDebugger.ReadLn "~"\t0x083327b0 - 0x083349ba is .rodata\n""
      << TCmdLineDebugger.ReadLn "~"\t0x083349bc - 0x083349c0 is .eh_frame\n""
      << TCmdLineDebugger.ReadLn "~"\t0x08335000 - 0x08335008 is .ctors\n""
      << TCmdLineDebugger.ReadLn "~"\t0x08335008 - 0x08335010 is .dtors\n""
      << TCmdLineDebugger.ReadLn "~"\t0x08335010 - 0x08335014 is .jcr\n""
      << TCmdLineDebugger.ReadLn "~"\t0x08335014 - 0x08335134 is .dynamic\n""
      << TCmdLineDebugger.ReadLn "~"\t0x08335134 - 0x083363f0 is .got.plt\n""
      << TCmdLineDebugger.ReadLn "~"\t0x083363f0 - 0x0859827f is .data\n""
      << TCmdLineDebugger.ReadLn "~"\t0x08598280 - 0x085bef58 is fpc.resources\n""
      << TCmdLineDebugger.ReadLn "~"\t0x085bef60 - 0x085d9d74 is .bss\n""
      << TCmdLineDebugger.ReadLn "~"\t0x085d9d74 - 0x085d9dc0 is fpc.reshandles\n""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      [Debugger] File type: elf32-i386
      [Debugger] Entry point: 0x8332700
      >> TCmdLineDebugger.SendCmdLn "-data-evaluate-expression sizeof(POINTER)"
      << TCmdLineDebugger.ReadLn "^done,value="4""
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-break-insert -f foo"
      << TCmdLineDebugger.ReadLn "&"Function \"foo\" not defined.\n""
      [Debugger] Log output: &"Function \"foo\" not defined.\n"
      << TCmdLineDebugger.ReadLn "^done,bkpt={number="5",type="breakpoint",disp="keep",enabled="y",addr="<PENDING>",pending="foo",times="0",original-location="foo"}"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-break-delete 5"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-exec-run"
      << TCmdLineDebugger.ReadLn "=thread-group-created,id="17287""
      [WARNING] Debugger: Unexpected async-record: =thread-group-created,id="17287"
      << TCmdLineDebugger.ReadLn "=thread-created,id="1",group-id="17287""
      << TCmdLineDebugger.ReadLn "^running"
      << TCmdLineDebugger.ReadLn "*running,thread-id="all""
      << TCmdLineDebugger.ReadLn "(gdb) "
      DebuggerState: Setting to Run, from Stop
        DebugEvent: Enter >> DoBeforeState <<  State=Run
        DebugEvent: Exit  >> DoBeforeState <<
        DebugEvent: Enter >> DoState <<  State=Run
        DebugEvent: Exit  >> DoState <<
      DebuggerState: Finished Run
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/ld-linux.so.2",target-name="/lib/ld-linux.so.2",host-name="/lib/ld-linux.so.2",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/i686/libpthread.so.0",target-name="/lib/i686/libpthread.so.0",host-name="/lib/i686/libpthread.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libX11.so.6",target-name="/usr/lib/libX11.so.6",host-name="/usr/lib/libX11.so.6",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libgdk_pixbuf-2.0.so.0",target-name="/usr/lib/libgdk_pixbuf-2.0.so.0",host-name="/usr/lib/libgdk_pixbuf-2.0.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libgtk-x11-2.0.so.0",target-name="/usr/lib/libgtk-x11-2.0.so.0",host-name="/usr/lib/libgtk-x11-2.0.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libgdk-x11-2.0.so.0",target-name="/usr/lib/libgdk-x11-2.0.so.0",host-name="/usr/lib/libgdk-x11-2.0.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libgobject-2.0.so.0",target-name="/usr/lib/libgobject-2.0.so.0",host-name="/usr/lib/libgobject-2.0.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libglib-2.0.so.0",target-name="/usr/lib/libglib-2.0.so.0",host-name="/usr/lib/libglib-2.0.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libgthread-2.0.so.0",target-name="/usr/lib/libgthread-2.0.so.0",host-name="/usr/lib/libgthread-2.0.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libgmodule-2.0.so.0",target-name="/usr/lib/libgmodule-2.0.so.0",host-name="/usr/lib/libgmodule-2.0.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libpango-1.0.so.0",target-name="/usr/lib/libpango-1.0.so.0",host-name="/usr/lib/libpango-1.0.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libatk-1.0.so.0",target-name="/usr/lib/libatk-1.0.so.0",host-name="/usr/lib/libatk-1.0.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libcairo.so.2",target-name="/usr/lib/libcairo.so.2",host-name="/usr/lib/libcairo.so.2",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/libdl.so.2",target-name="/lib/libdl.so.2",host-name="/lib/libdl.so.2",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/i686/libc.so.6",target-name="/lib/i686/libc.so.6",host-name="/lib/i686/libc.so.6",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libxcb.so.1",target-name="/usr/lib/libxcb.so.1",host-name="/usr/lib/libxcb.so.1",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libgio-2.0.so.0",target-name="/usr/lib/libgio-2.0.so.0",host-name="/usr/lib/libgio-2.0.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/i686/libm.so.6",target-name="/lib/i686/libm.so.6",host-name="/lib/i686/libm.so.6",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libpangocairo-1.0.so.0",target-name="/usr/lib/libpangocairo-1.0.so.0",host-name="/usr/lib/libpangocairo-1.0.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXfixes.so.3",target-name="/usr/lib/libXfixes.so.3",host-name="/usr/lib/libXfixes.so.3",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libpangoft2-1.0.so.0",target-name="/usr/lib/libpangoft2-1.0.so.0",host-name="/usr/lib/libpangoft2-1.0.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libfontconfig.so.1",target-name="/usr/lib/libfontconfig.so.1",host-name="/usr/lib/libfontconfig.so.1",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXinerama.so.1",target-name="/usr/lib/libXinerama.so.1",host-name="/usr/lib/libXinerama.so.1",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXi.so.6",target-name="/usr/lib/libXi.so.6",host-name="/usr/lib/libXi.so.6",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXrandr.so.2",target-name="/usr/lib/libXrandr.so.2",host-name="/usr/lib/libXrandr.so.2",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXcursor.so.1",target-name="/usr/lib/libXcursor.so.1",host-name="/usr/lib/libXcursor.so.1",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXcomposite.so.1",target-name="/usr/lib/libXcomposite.so.1",host-name="/usr/lib/libXcomposite.so.1",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXext.so.6",target-name="/usr/lib/libXext.so.6",host-name="/usr/lib/libXext.so.6",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXdamage.so.1",target-name="/usr/lib/libXdamage.so.1",host-name="/usr/lib/libXdamage.so.1",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXrender.so.1",target-name="/usr/lib/libXrender.so.1",host-name="/usr/lib/libXrender.so.1",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/libpcre.so.0",target-name="/lib/libpcre.so.0",host-name="/lib/libpcre.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/i686/librt.so.1",target-name="/lib/i686/librt.so.1",host-name="/lib/i686/librt.so.1",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libpixman-1.so.0",target-name="/usr/lib/libpixman-1.so.0",host-name="/usr/lib/libpixman-1.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libfreetype.so.6",target-name="/usr/lib/libfreetype.so.6",host-name="/usr/lib/libfreetype.so.6",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libpng12.so.0",target-name="/usr/lib/libpng12.so.0",host-name="/usr/lib/libpng12.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/libz.so.1",target-name="/lib/libz.so.1",host-name="/lib/libz.so.1",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXau.so.6",target-name="/usr/lib/libXau.so.6",host-name="/usr/lib/libXau.so.6",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXdmcp.so.6",target-name="/usr/lib/libXdmcp.so.6",host-name="/usr/lib/libXdmcp.so.6",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/libresolv.so.2",target-name="/lib/libresolv.so.2",host-name="/lib/libresolv.so.2",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libxml2.so.2",target-name="/usr/lib/libxml2.so.2",host-name="/usr/lib/libxml2.so.2",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "~"[Thread debugging using libthread_db enabled]\n""
      [Debugger] Console output: ~"[Thread debugging using libthread_db enabled]\n"
      << TCmdLineDebugger.ReadLn "*stopped,reason="breakpoint-hit",disp="del",bkptno="1",frame={addr="0x0805dd80",func="main",args=[],file="custdraw.lpr",fullname="/home/felipe/Programas/test/custdraw/custdraw.lpr",line="14"},thread-id="1",stopped-threads="all",core="1""
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "info program"
      << TCmdLineDebugger.ReadLn "&"info program\n""
      [Debugger] Log output: &"info program\n"
      << TCmdLineDebugger.ReadLn "~"\tUsing the running image of child Thread 0xb714c6c0 (LWP 17287).\n""
      << TCmdLineDebugger.ReadLn "~"Program stopped at 0x805dd80.\n""
      << TCmdLineDebugger.ReadLn "~"It stopped at a breakpoint that has since been deleted.\n""
      << TCmdLineDebugger.ReadLn "~"Type \"info stack\" or \"info registers\" for more information.\n""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      [Debugger] Target PID: 17287
      DebuggerState: Setting to Init, from Run
        DebugEvent: Enter >> DoBeforeState <<  State=Init
        DebugEvent: Exit  >> DoBeforeState <<
        Queueing (Recurse-Count=1) at pos=0 cnt=0 State=Init Lock=1 Forced=False Prior=10: "TGDBMIDebuggerCommandBreakInsert: Source=/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas, Line=2606, Enabled=True"
        DebugEvent: Enter >> DoState <<  State=Init
          Queueing (Recurse-Count=1) at pos=0 cnt=1 State=Init Lock=1 Forced=False Prior=100: "TGDBMIDebuggerCommandLineSymbolInfo: Source=/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas"
        DebugEvent: Exit  >> DoState <<
      DebuggerState: Finished Init
      Queueing (Recurse-Count=1) at pos=2 cnt=2 State=Init Lock=1 Forced=False Prior=0: "TGDBMIDebuggerCommandExecute: -exec-continue"
    Exec done
    Executing (Recurse-Count=0) queued= 2 CmdPrior=100 CmdMinRunLvl=-1 : "TGDBMIDebuggerCommandLineSymbolInfo: Source=/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas" State=Init PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-symbol-list-lines /home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas"
      << TCmdLineDebugger.ReadLn "^done,lines=[{pc="0x082e1670",line="705"},{pc="0x082e1676",line="706"},{pc="0x082e167b",line="707"},{pc="0x082e167e",line="706"},{pc="0x082e1683",line="707"},{pc="0x082e1686",line="706"},{pc="0x082e16" ..(47153).. "2",line="0"},{pc="0x082e8d60",line="3077"},{pc="0x082e8d6f",line="3079"},{pc="0x082e8d73",line="0"}]"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Executing (Recurse-Count=0) queued= 1 CmdPrior=10 CmdMinRunLvl=-1 : "TGDBMIDebuggerCommandBreakInsert: Source=/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas, Line=2606, Enabled=True" State=Init PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "info line "/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas":2606"
      << TCmdLineDebugger.ReadLn "&"info line \"/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas\":2606\n""
      [Debugger] Log output: &"info line \"/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas\":2606\n"
      << TCmdLineDebugger.ReadLn "~"Line 2606 of \"customdrawnextras.pas\" starts at address 0x82e745e <ADDPAGE+110> and ends at 0x82e7492 <ADDPAGE+162>.\n""
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-break-insert -f customdrawnextras.pas:2606"
      << TCmdLineDebugger.ReadLn "^done,bkpt={number="6",type="breakpoint",disp="keep",enabled="y",addr="0x082e745e",func="ADDPAGE",file="customdrawnextras.pas",fullname="/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas",line="2606",times="0",original-location="customdrawnextras.pas:2606"}"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-break-enable 6"
      << TCmdLineDebugger.ReadLn "^done"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=0 : "TGDBMIDebuggerCommandExecute: -exec-continue" State=Init PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-exec-continue"
      << TCmdLineDebugger.ReadLn "^running"
      << TCmdLineDebugger.ReadLn "*running,thread-id="all""
      << TCmdLineDebugger.ReadLn "(gdb) "
      DebuggerState: Setting to Run, from Init
        DebugEvent: Enter >> DoBeforeState <<  State=Run
        DebugEvent: Exit  >> DoBeforeState <<
        DebugEvent: Enter >> DoState <<  State=Run
        DebugEvent: Exit  >> DoState <<
      DebuggerState: Finished Run
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/gconv/UTF-16.so",target-name="/usr/lib/gconv/UTF-16.so",host-name="/usr/lib/gconv/UTF-16.so",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/libnss_files.so.2",target-name="/lib/libnss_files.so.2",host-name="/lib/libnss_files.so.2",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so",target-name="/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so",host-name="/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libcanberra-gtk.so.0",target-name="/usr/lib/libcanberra-gtk.so.0",host-name="/usr/lib/libcanberra-gtk.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libcanberra.so.0",target-name="/usr/lib/libcanberra.so.0",host-name="/usr/lib/libcanberra.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libvorbisfile.so.3",target-name="/usr/lib/libvorbisfile.so.3",host-name="/usr/lib/libvorbisfile.so.3",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libtdb.so.1",target-name="/usr/lib/libtdb.so.1",host-name="/usr/lib/libtdb.so.1",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libltdl.so.7",target-name="/usr/lib/libltdl.so.7",host-name="/usr/lib/libltdl.so.7",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libvorbis.so.0",target-name="/usr/lib/libvorbis.so.0",host-name="/usr/lib/libvorbis.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libogg.so.0",target-name="/usr/lib/libogg.so.0",host-name="/usr/lib/libogg.so.0",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/gtk-2.0/2.10.0/engines/libia_ora.so",target-name="/usr/lib/gtk-2.0/2.10.0/engines/libia_ora.so",host-name="/usr/lib/gtk-2.0/2.10.0/engines/libia_ora.so",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/pango/1.6.0/modules/pango-basic-fc.so",target-name="/usr/lib/pango/1.6.0/modules/pango-basic-fc.so",host-name="/usr/lib/pango/1.6.0/modules/pango-basic-fc.so",symbols-loaded="0""
      << TCmdLineDebugger.ReadLn "*stopped,reason="breakpoint-hit",disp="keep",bkptno="6",frame={addr="0x082e745e",func="ADDPAGE",args=[{name="this",value="0xb7149920"},{name="S",value="0x834443c 'test'"}],file="customdrawnextras.pas"" ..(95).. "ponents/customdrawn/customdrawnextras.pas",line="2606"},thread-id="1",stopped-threads="all",core="1""
      << TCmdLineDebugger.ReadLn "(gdb) "
      DebuggerState: Setting to Pause, from Run
        DebugEvent: Enter >> DoBeforeState <<  State=Pause
        DebugEvent: Exit  >> DoBeforeState <<
        DebugEvent: Enter >> DoState <<  State=Pause
          Queueing (Recurse-Count=1) at pos=0 cnt=0 State=Pause Lock=0 Forced=True Prior=5: "TGDBMIDebuggerCommandThreads"
        DebugEvent: Exit  >> DoState <<
        TGDBMIDebugger.UnLockCommandProcessing: Execute RunQueue 
          Leaving Queue with count: 1 Recurse-Count=1 State=Pause
        TGDBMIDebugger.UnLockCommandProcessing: Finished RunQueue
      DebuggerState: Finished Pause
    Exec done
    Executing (Recurse-Count=0) queued= 0 CmdPrior=5 CmdMinRunLvl=0 : "TGDBMIDebuggerCommandThreads" State=Pause PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-thread-info"
      << TCmdLineDebugger.ReadLn "^done,threads=[{id="1",target-id="Thread 0xb714c6c0 (LWP 17287)",frame={level="0",addr="0x082e745e",func="ADDPAGE",args=[{name="this",value="0xb7149920"},{name="S",value="0x834443c 'test'"}],file="cus" ..(118).. "nts/customdrawn/customdrawnextras.pas",line="2606"},state="stopped",core="1"}],current-thread-id="1""
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Pause
    Executing (Recurse-Count=0) queued= 0 CmdPrior=2 CmdMinRunLvl=-1 : "TGDBMIDebuggerCommandStackDepth:" State=Pause PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-stack-info-depth"
      << TCmdLineDebugger.ReadLn "^done,depth="7""
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Pause
    Executing (Recurse-Count=0) queued= 0 CmdPrior=2 CmdMinRunLvl=-1 : "TGDBMIDebuggerCommandStackFrames" State=Pause PauseWaitState=0
      Callstach.Frames A StartIdx=0 EndIdx=4
      Callstach.Frames B StartIdx=0 EndIdx=4
      >> TCmdLineDebugger.SendCmdLn "-stack-list-arguments 1 0 4"
      << TCmdLineDebugger.ReadLn "^done,stack-args=[frame={level="0",args=[{name="this",value="0xb7149920"},{name="S",value="0x834443c 'test'"}]},frame={level="1",args=[{name="SENDER",value="0xb71486c0"},{name="this",value="<error rea" ..(247).. "WNER",value="0xb710c2e0"},{name="vmt",value="0x1"},{name="this",value="<error reading variable>"}]}]"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-stack-list-frames 0 4"
      << TCmdLineDebugger.ReadLn "^done,stack=[frame={level="0",addr="0x082e745e",func="ADDPAGE",file="customdrawnextras.pas",fullname="/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas",line="2606"},frame={l" ..(627).. "e/customform.inc",fullname="/home/felipe/Programas/lazarus/lcl/include/customform.inc",line="2844"}]"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Pause
    Executing (Recurse-Count=0) queued= 0 CmdPrior=1 CmdMinRunLvl=-1 : "TGDBMIDebuggerCommandLocals:" State=Pause PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-stack-list-arguments 1 0 0"
      << TCmdLineDebugger.ReadLn "^done,stack-args=[frame={level="0",args=[{name="this",value="0xb7149920"},{name="S",value="0x834443c 'test'"}]}]"
      << TCmdLineDebugger.ReadLn "(gdb) "
      >> TCmdLineDebugger.SendCmdLn "-stack-list-locals 1"
      << TCmdLineDebugger.ReadLn "^done,locals=[{name="NEWPAGE",value="0xb7149c90"}]"
      << TCmdLineDebugger.ReadLn "(gdb) "
    Exec done
    Leaving Queue with count: 0 Recurse-Count=0 State=Pause
    [TMainIDE.DoRunProject] A
    [TMainIDE.DoRunProject] B TGDBMIDebugger
    [TMainIDE.DoRunProject] END
    Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=0 : "TGDBMIDebuggerCommandExecute: -exec-continue" State=Pause PauseWaitState=0
      >> TCmdLineDebugger.SendCmdLn "-exec-continue"
      << TCmdLineDebugger.ReadLn "^running"
      << TCmdLineDebugger.ReadLn "*running,thread-id="1""
      << TCmdLineDebugger.ReadLn "(gdb) "
      DebuggerState: Setting to Run, from Pause
        DebugEvent: Enter >> DoBeforeState <<  State=Run
        DebugEvent: Exit  >> DoBeforeState <<
        INFO: TDBGDisassembler.Clear:  map had count=0
        DebugEvent: Enter >> DoState <<  State=Run
    
    Program received signal SIGSEGV, Segmentation fault.
    0x082770e5 in GTK_OBJECT_GET_CLASS (ANOBJECT=0x2600068) at gtk2proc.inc:149
    149         result := PGtkTypeObject(anobject)^.g_Class
    Missing debug package(s), you should install: GConf2-debug-2.28.1-1mdv2010.1.i586 ORBit2-debug-2.14.18-2mdv2010.1.i586 atk1.0-debug-1.30.0-1mdv2010.1.i586 cairo-debug-1.9.14-0.2mdv2010.1.i586 dbus-debug-1.2.24-1mdv2010.1.i586 expat-debug-2.0.1-12mdv2010.1.i586 fontconfig-debug-2.8.0-2mdv2010.1.i586 freetype2-debug-2.3.12-1.5plf2010.1.i586 gamin-debug-0.1.10-4mdv2010.1.i586 glib2.0-debug-2.24.1-1mdv2010.1.i586 glibc-debug-2.11.1-8.2mnb2.i586 gtk+2.0-debug-2.20.1-1mdv2010.1.i586 gvfs-debug-1.6.1-2mdv2010.1.i586 ia_ora-gnome-debug-1.0.24-1mdv2010.1.i586 libcanberra-debug-0.24-2mdv2010.1.i586 libogg-debug-1.2.0-1mdv2010.1.i586 libpng-debug-1.2.43-1.1mdv2010.1.i586 libtool-debug-2.2.6b-2mdv2010.1.i586 libvorbis-debug-1.3.1-1mdv2010.1.i586 libx11-debug-1.3.3-1mdv2010.1.i586 libxau-debug-1.0.5-2mdv2010.1.i586 libxcb-debug-1.6-1mdv2010.1.i586 libxcomposite-debug-0.4.1-1mdv2010.1.i586 libxcursor-debug-1.1.10-2mdv2010.1.i586 libxdamage-debug-1.1.2-1mdv2010.1.i586 libxdmcp-debug-1.0.3-2mdv2010.1.i586 libxext-debug-1.1.1-2mdv2010.1.i586 libxfixes-debug-4.0.4-1mdv2010.1.i586 libxi-debug-1.3-1mdv2010.1.i586 libxinerama-debug-1.1-1mdv2010.1.i586 libxml2-debug-2.7.7-1.2mdv2010.2.i586 libxrandr-debug-1.3.0-3mdv2010.1.i586 libxrender-debug-0.9.5-2mdv2010.1.i586 pango-debug-1.28.0-1mdv2010.1.i586 pcre-debug-8.02-1mdv2010.1.i586 pixman-debug-0.20.0-1mdv2010.1.i586 tdb-debug-1.2.1-1mdv2010.1.i586 udev-debug-153-5mnb2.i586 zlib-debug-1.2.3-15mdv2010.1.i586
    (gdb) bt
    #0  0x082770e5 in GTK_OBJECT_GET_CLASS (ANOBJECT=0x2600068) at gtk2proc.inc:149
    #1  0x08277a7d in GTKWIDGETISA (WIDGET=0x2600068, ATYPE=152712400) at gtk2proc.inc:421
    #2  0x081ddbbe in TGTK2WIDGETSET__SETFOREGROUNDWINDOW (HWND=39845992, this=<error reading variable>) at gtk2winapi.inc:8335
    #3  0x081b7d5f in SETFOREGROUNDWINDOW (HWND=39845992) at ./include/winapi.inc:903
    #4  0x0846ed0a in TDEBUGMANAGER__DEBUGGERCHANGESTATE (ADEBUGGER=0xb6a58660, OLDSTATE=DSPAUSE, this=<error reading variable>)
        at debugmanager.pas:1073
    #5  0x0847e1da in TDEBUGGER__DOSTATE (OLDSTATE=DSPAUSE, this=<error reading variable>)
        at /home/felipe/Programas/lazarus/debugger/debugger.pp:5841
    #6  0x08808121 in TGDBMIDEBUGGER__DOSTATE (OLDSTATE=DSPAUSE, this=<error reading variable>)
        at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:5985
    #7  0x0847ee7b in TDEBUGGER__SETSTATE (AVALUE=DSRUN, this=<error reading variable>)
        at /home/felipe/Programas/lazarus/debugger/debugger.pp:6102
    #8  0x088132cf in TGDBMIDEBUGGERCOMMAND__SETDEBUGGERSTATE (AVALUE=DSRUN, this=<error reading variable>)
        at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:9455
    #9  0x08803f84 in TGDBMIDEBUGGERCOMMANDEXECUTE__DOEXECUTE (this=<error reading variable>)
        at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:5051
    #10 0x08816f80 in TGDBMIDEBUGGERCOMMAND__EXECUTE (this=<error reading variable>)
        at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:10490
    #11 0x08809435 in TGDBMIDEBUGGER__RUNQUEUE (this=<error reading variable>) at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:6221
    #12 0x08809aae in TGDBMIDEBUGGER__QUEUECOMMAND (ACOMMAND=0xad373940, FORCEQUEUE=false, this=<error reading variable>)
        at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:6342
    #13 0x0880a6f5 in TGDBMIDEBUGGER__GDBRUN (this=<error reading variable>) at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:6599
    #14 0x0880b5ea in TGDBMIDEBUGGER__REQUESTCOMMAND (ACOMMAND=DCRUN, APARAMS=<incomplete type>, highAPARAMS=-1, this=<error reading variable>)
        at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:7008
    #15 0x0847e9f0 in TDEBUGGER__REQCMD (ACOMMAND=DCRUN, APARAMS=<incomplete type>, highAPARAMS=-1, this=<error reading variable>)
        at /home/felipe/Programas/lazarus/debugger/debugger.pp:5991
    #16 0x0847eaab in TDEBUGGER__RUN (this=<error reading variable>) at /home/felipe/Programas/lazarus/debugger/debugger.pp:6005
    #17 0x08473136 in TDEBUGMANAGER__RUNDEBUGGER (this=<error reading variable>) at debugmanager.pas:2386
    #18 0x0846dd72 in TDEBUGMANAGER__ONRUNTIMER (SENDER=0xb62d46e0, this=<error reading variable>) at debugmanager.pas:772
    #19 0x082ad865 in TCUSTOMTIMER__DOONTIMER (this=<error reading variable>) at customtimer.pas:181
    #20 0x082ad7cf in TCUSTOMTIMER__TIMER (this=<error reading variable>) at customtimer.pas:156
    #21 0x0828aa84 in GTKTIMERCB (DATA=0xae585270) at gtk2callback.inc:2430
    #22 0xb78b546f in ?? () from /usr/lib/libglib-2.0.so.0
    #23 0xb78b4cbe in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #24 0xb78b89f8 in ?? () from /usr/lib/libglib-2.0.so.0
    #25 0xb78b8b9e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
    #26 0x081c8b65 in TGTK2WIDGETSET__APPPROCESSMESSAGES (this=<error reading variable>) at gtk2widgetset.inc:2397
    #27 0x080a11cc in TAPPLICATION__HANDLEMESSAGE (this=<error reading variable>) at ./include/application.inc:1264
    #28 0x080a161f in TAPPLICATION__RUNLOOP (this=<error reading variable>) at ./include/application.inc:1397
    #29 0x08101df3 in TWIDGETSET__APPRUN (ALOOP=0x80a15e0 <TAPPLICATION__RUNLOOP>, this=<error reading variable>)
        at ./include/interfacebase.inc:60
    #30 0x080a15da in TAPPLICATION__RUN (this=<error reading variable>) at ./include/application.inc:1385
    #31 0x0805e1a5 in main () at lazarus.pp:119
    (gdb) 
    
    
    debug.txt (67,465 bytes)

Activities

Felipe Monteiro de Carvalho

2011-10-06 13:17

developer   ~0052638

While debugging customdrawn, I don't remember doing anything special. One breakpoint was set, I clicked play to resume and crash.

Program received signal SIGSEGV, Segmentation fault.
0x082770e5 in GTK_OBJECT_GET_CLASS (ANOBJECT=0x4800037) at gtk2proc.inc:149
149 result := PGtkTypeObject(anobject)^.g_Class
Missing debug package(s), you should install: GConf2-debug-2.28.1-1mdv2010.1.i586 ORBit2-debug-2.14.18-2mdv2010.1.i586 atk1.0-debug-1.30.0-1mdv2010.1.i586 cairo-debug-1.9.14-0.2mdv2010.1.i586 dbus-debug-1.2.24-1mdv2010.1.i586 expat-debug-2.0.1-12mdv2010.1.i586 fontconfig-debug-2.8.0-2mdv2010.1.i586 freetype2-debug-2.3.12-1.5plf2010.1.i586 gamin-debug-0.1.10-4mdv2010.1.i586 glib2.0-debug-2.24.1-1mdv2010.1.i586 glibc-debug-2.11.1-8.2mnb2.i586 gtk+2.0-debug-2.20.1-1mdv2010.1.i586 gvfs-debug-1.6.1-2mdv2010.1.i586 ia_ora-gnome-debug-1.0.24-1mdv2010.1.i586 libcanberra-debug-0.24-2mdv2010.1.i586 libogg-debug-1.2.0-1mdv2010.1.i586 libpng-debug-1.2.43-1.1mdv2010.1.i586 libtool-debug-2.2.6b-2mdv2010.1.i586 libvorbis-debug-1.3.1-1mdv2010.1.i586 libx11-debug-1.3.3-1mdv2010.1.i586 libxau-debug-1.0.5-2mdv2010.1.i586 libxcb-debug-1.6-1mdv2010.1.i586 libxcomposite-debug-0.4.1-1mdv2010.1.i586 libxcursor-debug-1.1.10-2mdv2010.1.i586 libxdamage-debug-1.1.2-1mdv2010.1.i586 libxdmcp-debug-1.0.3-2mdv2010.1.i586 libxext-debug-1.1.1-2mdv2010.1.i586 libxfixes-debug-4.0.4-1mdv2010.1.i586 libxi-debug-1.3-1mdv2010.1.i586 libxinerama-debug-1.1-1mdv2010.1.i586 libxml2-debug-2.7.7-1.2mdv2010.2.i586 libxrandr-debug-1.3.0-3mdv2010.1.i586 libxrender-debug-0.9.5-2mdv2010.1.i586 pango-debug-1.28.0-1mdv2010.1.i586 pcre-debug-8.02-1mdv2010.1.i586 pixman-debug-0.20.0-1mdv2010.1.i586 tdb-debug-1.2.1-1mdv2010.1.i586 udev-debug-153-5mnb2.i586 zlib-debug-1.2.3-15mdv2010.1.i586
(gdb) bt
#0 0x082770e5 in GTK_OBJECT_GET_CLASS (ANOBJECT=0x4800037) at gtk2proc.inc:149
0000001 0x08277a7d in GTKWIDGETISA (WIDGET=0x4800037, ATYPE=152413536) at gtk2proc.inc:421
0000002 0x081ddbbe in TGTK2WIDGETSET__SETFOREGROUNDWINDOW (HWND=75497527, this=<error reading variable>) at gtk2winapi.inc:8335
0000003 0x081b7d5f in SETFOREGROUNDWINDOW (HWND=75497527) at ./include/winapi.inc:903
0000004 0x0846ca8a in TDEBUGMANAGER__DEBUGGERCHANGESTATE (ADEBUGGER=0xb6a584d0, OLDSTATE=DSPAUSE, this=<error reading variable>)
    at debugmanager.pas:1070
0000005 0x0847bed7 in TDEBUGGER__DOSTATE (OLDSTATE=DSPAUSE, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/debugger.pp:5832
0000006 0x08804321 in TGDBMIDEBUGGER__DOSTATE (OLDSTATE=DSPAUSE, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:5948
0000007 0x0847cb05 in TDEBUGGER__SETSTATE (AVALUE=DSRUN, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/debugger.pp:6093
0000008 0x0880efaf in TGDBMIDEBUGGERCOMMAND__SETDEBUGGERSTATE (AVALUE=DSRUN, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:9413
0000009 0x08800384 in TGDBMIDEBUGGERCOMMANDEXECUTE__DOEXECUTE (this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:5024
0000010 0x08812ba0 in TGDBMIDEBUGGERCOMMAND__EXECUTE (this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:10448
0000011 0x08805499 in TGDBMIDEBUGGER__RUNQUEUE (this=<error reading variable>) at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:6184
0000012 0x08805849 in TGDBMIDEBUGGER__QUEUECOMMAND (ACOMMAND=0xad568b20, FORCEQUEUE=false, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:6305
0000013 0x08806455 in TGDBMIDEBUGGER__GDBRUN (this=<error reading variable>) at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:6562
0000014 0x088072fa in TGDBMIDEBUGGER__REQUESTCOMMAND (ACOMMAND=DCRUN, APARAMS=<incomplete type>, highAPARAMS=-1, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:6971
0000015 0x0847c6d0 in TDEBUGGER__REQCMD (ACOMMAND=DCRUN, APARAMS=<incomplete type>, highAPARAMS=-1, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/debugger.pp:5982
0000016 0x0847c78b in TDEBUGGER__RUN (this=<error reading variable>) at /home/felipe/Programas/lazarus/debugger/debugger.pp:5996
0000017 0x08470eb6 in TDEBUGMANAGER__RUNDEBUGGER (this=<error reading variable>) at debugmanager.pas:2383
0000018 0x0846bb12 in TDEBUGMANAGER__ONRUNTIMER (SENDER=0xb62d46e0, this=<error reading variable>) at debugmanager.pas:772
0000019 0x082ad865 in TCUSTOMTIMER__DOONTIMER (this=<error reading variable>) at customtimer.pas:181
0000020 0x082ad7cf in TCUSTOMTIMER__TIMER (this=<error reading variable>) at customtimer.pas:156
0000021 0x0828aa84 in GTKTIMERCB (DATA=0xad3c24b0) at gtk2callback.inc:2430
0000022 0xb78b546f in ?? () from /usr/lib/libglib-2.0.so.0
0000023 0xb78b4cbe in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
0000024 0xb78b89f8 in ?? () from /usr/lib/libglib-2.0.so.0
0000025 0xb78b8b9e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
0000026 0x081c8b65 in TGTK2WIDGETSET__APPPROCESSMESSAGES (this=<error reading variable>) at gtk2widgetset.inc:2397
0000027 0x080a11cc in TAPPLICATION__HANDLEMESSAGE (this=<error reading variable>) at ./include/application.inc:1264
0000028 0x080a161f in TAPPLICATION__RUNLOOP (this=<error reading variable>) at ./include/application.inc:1397
0000029 0x08101df3 in TWIDGETSET__APPRUN (ALOOP=0x80a15e0 <TAPPLICATION__RUNLOOP>, this=<error reading variable>)
    at ./include/interfacebase.inc:60
0000030 0x080a15da in TAPPLICATION__RUN (this=<error reading variable>) at ./include/application.inc:1385
0000031 0x0805e1a5 in main () at lazarus.pp:119
(gdb) quit
A debugging session is active.

        Inferior 1 [process 19645] will be killed.

Martin Friebe

2011-10-06 13:43

manager   ~0052643

Last edited: 2011-10-06 14:17

Are you using 0.9.30 / 0.9.30.1 or 0.9.31 ?

If you use 0.9.30, please upgrade to 0.9.30.1 as it already has various fixes for the debugger.

If 0.9.31 then make sure you upgrade to the very latest. I just fixed some memory/access violations in r 32718

In either case:
Can you recompile lazarus with the following defines:
  DBG_VERBOSE
  DBG_STATE
  DBGMI_QUEUE_DEBUG

See also http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#Create_a_new_Report

Then run lazarus with a logfile --debug-log=foo and submit the logfile together with the stacktrace, if it happens next time.

--
As a note, this may be related to how fast you press the next F8/F9 (or whatever step/run you use).
If so and if 0.9.31, it may be the issue I fixed in r32718


Also, does it happen, if you do not "hide ide windows on run"?

Martin Friebe

2011-10-06 14:04

manager   ~0052646

Also since the crash occurs in SetForegroundWindow

Please pay attention to the following things (as far as possible):
- Any request/dialogs by the IDE. Such as "Exception encountered [continue/pause]
This are dialogs that offer to continue running

- When the debugger pauses (e.g hits breakpoint) what window was active?
The debugged app? The IDE? A hint or other temporary window in the debugged ap? A completely different app?

- Does that window still exist, at the time of continue (F9 / Run). Especially, if you stepped F7/F8 before resuming run.

Felipe Monteiro de Carvalho

2011-10-06 14:27

developer   ~0052649

Last edited: 2011-10-06 14:27

> Are you using 0.9.30 / 0.9.30.1 or 0.9.31 ?

I always use Lazarus svn, and I was in rev 32717 when I did this test.

Felipe Monteiro de Carvalho

2011-10-06 14:51

developer   ~0052652

You seam to be correct about the freezes, they indeed might all be dialogs hidden behind the source editor. But I think this didnt happen before.

Felipe Monteiro de Carvalho

2011-10-06 14:53

developer   ~0052653

Using svn 32719 I just got another crash:

It was right after receiving an exception, I pressed play to continue and I got a crash:

Program received signal SIGSEGV, Segmentation fault.
0x082770e5 in GTK_OBJECT_GET_CLASS (ANOBJECT=0x46000c0) at gtk2proc.inc:149
149 result := PGtkTypeObject(anobject)^.g_Class
Missing debug package(s), you should install: GConf2-debug-2.28.1-1mdv2010.1.i586 ORBit2-debug-2.14.18-2mdv2010.1.i586 atk1.0-debug-1.30.0-1mdv2010.1.i586 cairo-debug-1.9.14-0.2mdv2010.1.i586 dbus-debug-1.2.24-1mdv2010.1.i586 expat-debug-2.0.1-12mdv2010.1.i586 fontconfig-debug-2.8.0-2mdv2010.1.i586 freetype2-debug-2.3.12-1.5plf2010.1.i586 gamin-debug-0.1.10-4mdv2010.1.i586 glib2.0-debug-2.24.1-1mdv2010.1.i586 glibc-debug-2.11.1-8.2mnb2.i586 gtk+2.0-debug-2.20.1-1mdv2010.1.i586 gvfs-debug-1.6.1-2mdv2010.1.i586 ia_ora-gnome-debug-1.0.24-1mdv2010.1.i586 libcanberra-debug-0.24-2mdv2010.1.i586 libogg-debug-1.2.0-1mdv2010.1.i586 libpng-debug-1.2.43-1.1mdv2010.1.i586 libtool-debug-2.2.6b-2mdv2010.1.i586 libvorbis-debug-1.3.1-1mdv2010.1.i586 libx11-debug-1.3.3-1mdv2010.1.i586 libxau-debug-1.0.5-2mdv2010.1.i586 libxcb-debug-1.6-1mdv2010.1.i586 libxcomposite-debug-0.4.1-1mdv2010.1.i586 libxcursor-debug-1.1.10-2mdv2010.1.i586 libxdamage-debug-1.1.2-1mdv2010.1.i586 libxdmcp-debug-1.0.3-2mdv2010.1.i586 libxext-debug-1.1.1-2mdv2010.1.i586 libxfixes-debug-4.0.4-1mdv2010.1.i586 libxi-debug-1.3-1mdv2010.1.i586 libxinerama-debug-1.1-1mdv2010.1.i586 libxml2-debug-2.7.7-1.2mdv2010.2.i586 libxrandr-debug-1.3.0-3mdv2010.1.i586 libxrender-debug-0.9.5-2mdv2010.1.i586 pango-debug-1.28.0-1mdv2010.1.i586 pcre-debug-8.02-1mdv2010.1.i586 pixman-debug-0.20.0-1mdv2010.1.i586 tdb-debug-1.2.1-1mdv2010.1.i586 udev-debug-153-5mnb2.i586 zlib-debug-1.2.3-15mdv2010.1.i586
(gdb) bt
#0 0x082770e5 in GTK_OBJECT_GET_CLASS (ANOBJECT=0x46000c0) at gtk2proc.inc:149
0000001 0x08277a7d in GTKWIDGETISA (WIDGET=0x46000c0, ATYPE=152651104) at gtk2proc.inc:421
0000002 0x081ddbbe in TGTK2WIDGETSET__SETFOREGROUNDWINDOW (HWND=73400512, this=<error reading variable>) at gtk2winapi.inc:8335
0000003 0x081b7d5f in SETFOREGROUNDWINDOW (HWND=73400512) at ./include/winapi.inc:903
0000004 0x0846ed0a in TDEBUGMANAGER__DEBUGGERCHANGESTATE (ADEBUGGER=0xb6a58980, OLDSTATE=DSPAUSE, this=<error reading variable>)
    at debugmanager.pas:1073
0000005 0x0847e157 in TDEBUGGER__DOSTATE (OLDSTATE=DSPAUSE, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/debugger.pp:5841
0000006 0x08806881 in TGDBMIDEBUGGER__DOSTATE (OLDSTATE=DSPAUSE, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:5985
0000007 0x0847ed85 in TDEBUGGER__SETSTATE (AVALUE=DSRUN, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/debugger.pp:6102
0000008 0x0881153f in TGDBMIDEBUGGERCOMMAND__SETDEBUGGERSTATE (AVALUE=DSRUN, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:9455
0000009 0x08802804 in TGDBMIDEBUGGERCOMMANDEXECUTE__DOEXECUTE (this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:5051
0000010 0x08815130 in TGDBMIDEBUGGERCOMMAND__EXECUTE (this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:10490
0000011 0x088079f9 in TGDBMIDEBUGGER__RUNQUEUE (this=<error reading variable>) at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:6221
0000012 0x08807da9 in TGDBMIDEBUGGER__QUEUECOMMAND (ACOMMAND=0xb66a8ca0, FORCEQUEUE=false, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:6342
0000013 0x088089b5 in TGDBMIDEBUGGER__GDBRUN (this=<error reading variable>) at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:6599
0000014 0x0880985a in TGDBMIDEBUGGER__REQUESTCOMMAND (ACOMMAND=DCRUN, APARAMS=<incomplete type>, highAPARAMS=-1, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:7008
0000015 0x0847e950 in TDEBUGGER__REQCMD (ACOMMAND=DCRUN, APARAMS=<incomplete type>, highAPARAMS=-1, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/debugger.pp:5991
0000016 0x0847ea0b in TDEBUGGER__RUN (this=<error reading variable>) at /home/felipe/Programas/lazarus/debugger/debugger.pp:6005
0000017 0x08473136 in TDEBUGMANAGER__RUNDEBUGGER (this=<error reading variable>) at debugmanager.pas:2386
0000018 0x0846dd72 in TDEBUGMANAGER__ONRUNTIMER (SENDER=0xb62d46e0, this=<error reading variable>) at debugmanager.pas:772
0000019 0x082ad865 in TCUSTOMTIMER__DOONTIMER (this=<error reading variable>) at customtimer.pas:181
0000020 0x082ad7cf in TCUSTOMTIMER__TIMER (this=<error reading variable>) at customtimer.pas:156
0000021 0x0828aa84 in GTKTIMERCB (DATA=0xae5830f0) at gtk2callback.inc:2430
0000022 0xb78b546f in ?? () from /usr/lib/libglib-2.0.so.0
0000023 0xb78b4cbe in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
0000024 0xb78b89f8 in ?? () from /usr/lib/libglib-2.0.so.0
0000025 0xb78b8b9e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
0000026 0x081c8b65 in TGTK2WIDGETSET__APPPROCESSMESSAGES (this=<error reading variable>) at gtk2widgetset.inc:2397
0000027 0x080a11cc in TAPPLICATION__HANDLEMESSAGE (this=<error reading variable>) at ./include/application.inc:1264
0000028 0x080a161f in TAPPLICATION__RUNLOOP (this=<error reading variable>) at ./include/application.inc:1397
0000029 0x08101df3 in TWIDGETSET__APPRUN (ALOOP=0x80a15e0 <TAPPLICATION__RUNLOOP>, this=<error reading variable>)
    at ./include/interfacebase.inc:60
0000030 0x080a15da in TAPPLICATION__RUN (this=<error reading variable>) at ./include/application.inc:1385
0000031 0x0805e1a5 in main () at lazarus.pp:119

Martin Friebe

2011-10-06 15:00

manager   ~0052654

2nd crash has same signature.

Will need to find away, to see which window the handle belongs too, and why it fails when trying to set it to foreground again

Felipe Monteiro de Carvalho

2011-10-06 15:25

developer   ~0052655

It happens so frequently that I can't even debug my app (got me 5 times in 5 minutes). I will try to check which revision broke it.

Felipe Monteiro de Carvalho

2011-10-06 15:39

developer   ~0052656

With rev 32010 it also happens.

Felipe Monteiro de Carvalho

2011-10-06 16:53

developer   ~0052662

> Also, does it happen, if you do not "hide ide windows on run"?

I don't know what this is, but this seams to be an option. I don't use this option, my IDE windows are all visible

2011-10-06 17:05

 

debug.txt (67,465 bytes)
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env GCONF_TMPDIR=/tmp" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env GCONF_TMPDIR=/tmp"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env G_FILENAME_ENCODING=@locale" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env G_FILENAME_ENCODING=@locale"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env GPG_AGENT_INFO=/tmp/gpg-SCllcH/S.gpg-agent:1773:1" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env GPG_AGENT_INFO=/tmp/gpg-SCllcH/S.gpg-agent:1773:1"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env GS_LIB=/home/felipe/.fonts" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env GS_LIB=/home/felipe/.fonts"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env GTK_MODULES=canberra-gtk-module" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env GTK_MODULES=canberra-gtk-module"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env HISTCONTROL=ignoredups" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env HISTCONTROL=ignoredups"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env HISTSIZE=1000" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env HISTSIZE=1000"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env HOME=/home/felipe" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env HOME=/home/felipe"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env HOSTNAME=localhost" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env HOSTNAME=localhost"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env INPUTRC=/etc/inputrc" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env INPUTRC=/etc/inputrc"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env KDE_COLOR_DEBUG=1" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env KDE_COLOR_DEBUG=1"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env KDE_FULL_SESSION=true" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env KDE_FULL_SESSION=true"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env KDE_MULTIHEAD=false" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env KDE_MULTIHEAD=false"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env KDE_SESSION_UID=500" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env KDE_SESSION_UID=500"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env KDE_SESSION_VERSION=4" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env KDE_SESSION_VERSION=4"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env KONSOLE_DBUS_SERVICE=:1.30" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env KONSOLE_DBUS_SERVICE=:1.30"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env KONSOLE_DBUS_SESSION=/Sessions/3" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env KONSOLE_DBUS_SESSION=/Sessions/3"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LANG=en_GB.UTF-8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LANG=en_GB.UTF-8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LANGUAGE=en_GB.UTF-8:en_GB:en" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LANGUAGE=en_GB.UTF-8:en_GB:en"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_ADDRESS=pl_PL.UTF-8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_ADDRESS=pl_PL.UTF-8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_COLLATE=en_GB.UTF-8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_COLLATE=en_GB.UTF-8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_CTYPE=en_GB.UTF-8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_CTYPE=en_GB.UTF-8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_IDENTIFICATION=pl_PL.UTF-8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_IDENTIFICATION=pl_PL.UTF-8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_MEASUREMENT=pl_PL.UTF-8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_MEASUREMENT=pl_PL.UTF-8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_MESSAGES=en_GB.UTF-8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_MESSAGES=en_GB.UTF-8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_MONETARY=pl_PL.UTF-8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_MONETARY=pl_PL.UTF-8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_NAME=pl_PL.UTF-8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_NAME=pl_PL.UTF-8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_NUMERIC=pl_PL.UTF-8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_NUMERIC=pl_PL.UTF-8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_PAPER=pl_PL.UTF-8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_PAPER=pl_PL.UTF-8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_SOURCED=1" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_SOURCED=1"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_TELEPHONE=pl_PL.UTF-8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_TELEPHONE=pl_PL.UTF-8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LC_TIME=en_GB.UTF-8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LC_TIME=en_GB.UTF-8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LESSCHARSET=utf-8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LESSCHARSET=utf-8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LESSKEY=/etc/.less" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LESSKEY=/etc/.less"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LESS=-MM" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LESS=-MM"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LESSOPEN=|/usr/bin/lesspipe.sh %s" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LESSOPEN=|/usr/bin/lesspipe.sh %s"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LINES=44" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LINES=44"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LOGNAME=felipe" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LOGNAME=felipe"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.iso=01;31:*.jpg=01;35:*.jpeg=01;35:*.JPG=01;35:*.JPEG=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.ico=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.divx=01;35:*.xvid=01;35:*.3gp=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:*.mp2=00;36:*.mod=00;36:*.xm=00;36:*.s3m=00;36:*.it=00;36:*.wma=00;36:*~=47;30:*.bak=47;30:*.swp=47;30:*.bck=47;30:*.bk=47;30:*.old=47;30:*.tmp=47;30:*.save=47;30:*.rpmsave=47;30:*.rpmnew=47;30:" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.iso=01;31:*.jpg=01;35:*.jpeg=01;35:*.JPG=01;35:*.JPEG=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.ico=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.divx=01;35:*.xvid=01;35:*.3gp=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:*.mp2=00;36:*.mod=00;36:*.xm=00;36:*.s3m=00;36:*.it=00;36:*.wma=00;36:*~=47;30:*.bak=47;30:*.swp=47;30:*.bck=47;30:*.bk=47;30:*.old=47;30:*.tmp=47;30:*.save=47;30:*.rpmsave=47;30:*.rpmnew=47;30:"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env MAIL=/var/spool/mail/felipe" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env MAIL=/var/spool/mail/felipe"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env MALLOC_CHECK_=2" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env MALLOC_CHECK_=2"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env MDV_MENU_STYLE=mandriva" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env MDV_MENU_STYLE=mandriva"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env META_CLASS=desktop" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env META_CLASS=desktop"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env NLSPATH=/usr/share/locale/%l/%N" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env NLSPATH=/usr/share/locale/%l/%N"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env PATH=/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin/:/usr/games:/usr/lib/qt4/bin:/home/felipe/bin" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env PATH=/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin/:/usr/games:/usr/lib/qt4/bin:/home/felipe/bin"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env PROFILEHOME=" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env PROFILEHOME="
  << TCmdLineDebugger.ReadLn "~"Setting environment variable \"PROFILEHOME\" to null value.\n""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env PWD=/home/felipe/Programas/lazarus" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env PWD=/home/felipe/Programas/lazarus"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env PYTHONDONTWRITEBYTECODE=1" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env PYTHONDONTWRITEBYTECODE=1"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env PYTHONPATH=/usr/lib/ooo/basis-link/program:/usr/lib/ooo/basis-link/program" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env PYTHONPATH=/usr/lib/ooo/basis-link/program:/usr/lib/ooo/basis-link/program"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env PYTHONSTARTUP=/etc/pythonrc.py" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env PYTHONSTARTUP=/etc/pythonrc.py"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env QT4DOCDIR=/usr/share/doc/qt4/doc" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env QT4DOCDIR=/usr/share/doc/qt4/doc"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env QTDIR=/usr/lib/qt4" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env QTDIR=/usr/lib/qt4"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env QTEST_COLORED=1" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env QTEST_COLORED=1"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env QTINC=/usr/lib/qt3/include" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env QTINC=/usr/lib/qt3/include"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env QTLIB=/usr/lib" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env QTLIB=/usr/lib"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env QT_PLUGIN_PATH=/home/felipe/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env QT_PLUGIN_PATH=/home/felipe/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env QT_XFT=0" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env QT_XFT=0"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env SESSION_MANAGER=local/localhost:@/tmp/.ICE-unix/2199,unix/localhost:/tmp/.ICE-unix/2199" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env SESSION_MANAGER=local/localhost:@/tmp/.ICE-unix/2199,unix/localhost:/tmp/.ICE-unix/2199"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env SHELL=/bin/bash" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env SHELL=/bin/bash"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env SHLVL=3" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env SHLVL=3"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env SSH_ASKPASS=/usr/lib/ssh/ssh-askpass" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env SSH_ASKPASS=/usr/lib/ssh/ssh-askpass"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env TERM=xterm" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env TERM=xterm"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env TMPDIR=/tmp/" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env TMPDIR=/tmp/"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env TMP=/tmp/" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env TMP=/tmp/"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env USER=felipe" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env USER=felipe"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env _=/usr/bin/gdb" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env _=/usr/bin/gdb"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env WINDOWID=44040220" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env WINDOWID=44040220"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env WINDOWPATH=8" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env WINDOWPATH=8"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env XCURSOR_THEME=default" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env XCURSOR_THEME=default"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env XDG_CONFIG_DIRS=/etc/xdg:/etc/xdg/kde4" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env XDG_CONFIG_DIRS=/etc/xdg:/etc/xdg/kde4"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env XDG_DATA_DIRS=/usr/share:/usr/share:/usr/local/share" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env XDG_DATA_DIRS=/usr/share:/usr/share:/usr/local/share"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env XDG_MENU_PREFIX=kde-" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env XDG_MENU_PREFIX=kde-"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env XDG_SESSION_COOKIE=209d528efc0e0d32f69a61de0000003d-1317887483.787093-45227082" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env XDG_SESSION_COOKIE=209d528efc0e0d32f69a61de0000003d-1317887483.787093-45227082"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env XDM_MANAGED=method=classic" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env XDM_MANAGED=method=classic"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerSimpleCommand: -gdb-set env XMODIFIERS=@im=none" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-gdb-set env XMODIFIERS=@im=none"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
[TDebugger.SetFileName] "/home/felipe/Programas/test/custdraw/custdraw"
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerCommandChangeFilename" State=Idle PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-file-exec-and-symbols "/home/felipe/Programas/test/custdraw/custdraw""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Idle
DebuggerState: Setting to Stop, from Idle
  DebugEvent: Enter >> DoBeforeState <<  State=Stop
  DebugEvent: Exit  >> DoBeforeState <<
  DebugEvent: Enter >> DoState <<  State=Stop
  DebugEvent: Exit  >> DoState <<
DebuggerState: Finished Stop
[TMainIDE.DoRunProject] B TGDBMIDebugger
[TMainIDE.DoRunProject] END
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=-1 : "TGDBMIDebuggerCommandStartDebugging: ContinueCommand= TGDBMIDebuggerCommandExecute: -exec-continue" State=Stop PauseWaitState=0
  TGDBMIDebugger.StartDebugging WorkingDir="/home/felipe/Programas/test/custdraw/"
  >> TCmdLineDebugger.SendCmdLn "-environment-cd ."
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-environment-cd "/home/felipe/Programas/test/custdraw/""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-data-evaluate-expression FPC_THREADVAR_RELOCATE_PROC"
  << TCmdLineDebugger.ReadLn "^error,msg="No symbol \"FPC_THREADVAR_RELOCATE_PROC\" in current context.""
  TGDBMIDebugger.ProcessResult Error: ,msg="No symbol \"FPC_THREADVAR_RELOCATE_PROC\" in current context."
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "info functions FPC_CPUINIT"
  << TCmdLineDebugger.ReadLn "&"info functions FPC_CPUINIT\n""
  [Debugger] Log output: &"info functions FPC_CPUINIT\n"
  << TCmdLineDebugger.ReadLn "~"All functions matching regular expression \"FPC_CPUINIT\":\n""
  << TCmdLineDebugger.ReadLn "~"\n""
  << TCmdLineDebugger.ReadLn "~"Non-debugging symbols:\n""
  << TCmdLineDebugger.ReadLn "~"0x0805f150  SYSTEM_FPC_CPUINIT\n""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-exec-arguments "
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "set width 50000"
  << TCmdLineDebugger.ReadLn "&"set width 50000\n""
  [Debugger] Log output: &"set width 50000\n"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Detaching after fork from child process 17286.
  >> TCmdLineDebugger.SendCmdLn "set inferior-tty /dev/pts/4"
  << TCmdLineDebugger.ReadLn "&"set inferior-tty /dev/pts/4\n""
  [Debugger] Log output: &"set inferior-tty /dev/pts/4\n"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-gdb-set language pascal"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "info address main"
  << TCmdLineDebugger.ReadLn "&"info address main\n""
  [Debugger] Log output: &"info address main\n"
  << TCmdLineDebugger.ReadLn "~"Symbol \"main\" is a function at address 0x805dd80.\n""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-break-insert -t *134602112"
  << TCmdLineDebugger.ReadLn "^done,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x0805dd80",func="main",file="custdraw.lpr",fullname="/home/felipe/Programas/test/custdraw/custdraw.lpr",line="14",times="0",original-location="*134602112"}"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "ptype TObject"
  << TCmdLineDebugger.ReadLn "&"ptype TObject\n""
  [Debugger] Log output: &"ptype TObject\n"
  << TCmdLineDebugger.ReadLn "~"type = ^TOBJECT = class \n""
  << TCmdLineDebugger.ReadLn "~"end\n""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "ptype Exception"
  << TCmdLineDebugger.ReadLn "&"ptype Exception\n""
  [Debugger] Log output: &"ptype Exception\n"
  << TCmdLineDebugger.ReadLn "~"type = EXCEPTION = class : public TOBJECT \n""
  << TCmdLineDebugger.ReadLn "~"  private\n""
  << TCmdLineDebugger.ReadLn "~"    FMESSAGE : ANSISTRING;\n""
  << TCmdLineDebugger.ReadLn "~"    FHELPCONTEXT : LONGINT;\n""
  << TCmdLineDebugger.ReadLn "~"\n""
  << TCmdLineDebugger.ReadLn "~"  public\n""
  << TCmdLineDebugger.ReadLn "~"    constructor CREATE (EXCEPTION, POINTER, ANSISTRING) : ^EXCEPTION;\n""
  << TCmdLineDebugger.ReadLn "~"    constructor CREATEFMT (EXCEPTION, POINTER, ANSISTRING, unnamedtype, ONGINT, ) : ^EXCEPTION;\n""
  << TCmdLineDebugger.ReadLn "~"    constructor CREATERES (EXCEPTION, POINTER, PSTRING) : ^EXCEPTION;\n""
  << TCmdLineDebugger.ReadLn "~"    constructor CREATERESFMT (EXCEPTION, POINTER, PSTRING, unnamedtype, ONGINT, ) : ^EXCEPTION;\n""
  << TCmdLineDebugger.ReadLn "~"    constructor CREATEHELP (EXCEPTION, POINTER, ANSISTRING, ONGINT, ) : ^EXCEPTION;\n""
  << TCmdLineDebugger.ReadLn "~"    constructor CREATEFMTHELP (EXCEPTION, POINTER, ANSISTRING, unnamedtype, ONGINT7, ) : ^EXCEPTION;\n""
  << TCmdLineDebugger.ReadLn "~"    constructor CREATERESHELP (EXCEPTION, POINTER, PSTRING, LONGINT) : ^EXCEPTION;\n""
  << TCmdLineDebugger.ReadLn "~"    constructor CREATERESFMTHELP (EXCEPTION, POINTER, PSTRING, unnamedtype, ONGINT7, ) : ^EXCEPTION;\n""
  << TCmdLineDebugger.ReadLn "~"end\n""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "ptype Shortstring"
  << TCmdLineDebugger.ReadLn "&"ptype Shortstring\n""
  [Debugger] Log output: &"ptype Shortstring\n"
  << TCmdLineDebugger.ReadLn "~"type = SHORTSTRING = record \n""
  << TCmdLineDebugger.ReadLn "~"    length : BYTE;\n""
  << TCmdLineDebugger.ReadLn "~"    st : array [1..255] of CHAR;\n""
  << TCmdLineDebugger.ReadLn "~"end\n""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "ptype pointer"
  << TCmdLineDebugger.ReadLn "&"ptype pointer\n""
  [Debugger] Log output: &"ptype pointer\n"
  << TCmdLineDebugger.ReadLn "~"type = ^POINTER\n""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "ptype byte"
  << TCmdLineDebugger.ReadLn "&"ptype byte\n""
  [Debugger] Log output: &"ptype byte\n"
  << TCmdLineDebugger.ReadLn "~"type = BYTE\n""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "info address FPC_RAISEEXCEPTION"
  << TCmdLineDebugger.ReadLn "&"info address FPC_RAISEEXCEPTION\n""
  [Debugger] Log output: &"info address FPC_RAISEEXCEPTION\n"
  << TCmdLineDebugger.ReadLn "~"Symbol \"FPC_RAISEEXCEPTION\" is at 0x806ce20 in a file compiled without debugging.\n""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-break-insert *134663712"
  << TCmdLineDebugger.ReadLn "^done,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x0806ce20",at="<fpc_raiseexception>",times="0",original-location="*134663712"}"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "info address FPC_BREAK_ERROR"
  << TCmdLineDebugger.ReadLn "&"info address FPC_BREAK_ERROR\n""
  [Debugger] Log output: &"info address FPC_BREAK_ERROR\n"
  << TCmdLineDebugger.ReadLn "~"Symbol \"FPC_BREAK_ERROR\" is at 0x806fe80 in a file compiled without debugging.\n""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-break-insert *134676096"
  << TCmdLineDebugger.ReadLn "^done,bkpt={number="3",type="breakpoint",disp="keep",enabled="y",addr="0x0806fe80",at="<SYSTEM_HANDLEERRORADDRFRAME$LONGINT$POINTER$POINTER>",times="0",original-location="*134676096"}"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "info address FPC_RUNERROR"
  << TCmdLineDebugger.ReadLn "&"info address FPC_RUNERROR\n""
  [Debugger] Log output: &"info address FPC_RUNERROR\n"
  << TCmdLineDebugger.ReadLn "~"Symbol \"FPC_RUNERROR\" is at 0x806ff80 in a file compiled without debugging.\n""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-break-insert *134676352"
  << TCmdLineDebugger.ReadLn "^done,bkpt={number="4",type="breakpoint",disp="keep",enabled="y",addr="0x0806ff80",at="<SYSTEM_RUNERROR$WORD>",times="0",original-location="*134676352"}"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "info file"
  << TCmdLineDebugger.ReadLn "&"info file\n""
  [Debugger] Log output: &"info file\n"
  << TCmdLineDebugger.ReadLn "~"Symbols from \"/home/felipe/Programas/test/custdraw/custdraw\".\n""
  << TCmdLineDebugger.ReadLn "~"Local exec file:\n""
  << TCmdLineDebugger.ReadLn "~"\t`/home/felipe/Programas/test/custdraw/custdraw', file type elf32-i386.\n""
  << TCmdLineDebugger.ReadLn "~"\tEntry point: 0x8332700\n""
  << TCmdLineDebugger.ReadLn "~"\t0x080480f4 - 0x08048107 is .interp\n""
  << TCmdLineDebugger.ReadLn "~"\t0x08048108 - 0x0804a450 is .hash\n""
  << TCmdLineDebugger.ReadLn "~"\t0x0804a450 - 0x0804f0e0 is .dynsym\n""
  << TCmdLineDebugger.ReadLn "~"\t0x0804f0e0 - 0x080561e6 is .dynstr\n""
  << TCmdLineDebugger.ReadLn "~"\t0x080561e6 - 0x08056b78 is .gnu.version\n""
  << TCmdLineDebugger.ReadLn "~"\t0x08056b78 - 0x08056bf8 is .gnu.version_r\n""
  << TCmdLineDebugger.ReadLn "~"\t0x08056bf8 - 0x08056cb0 is .rel.dyn\n""
  << TCmdLineDebugger.ReadLn "~"\t0x08056cb0 - 0x08059210 is .rel.plt\n""
  << TCmdLineDebugger.ReadLn "~"\t0x08059210 - 0x0805921a is .init\n""
  << TCmdLineDebugger.ReadLn "~"\t0x0805921c - 0x0805dcec is .plt\n""
  << TCmdLineDebugger.ReadLn "~"\t0x0805dcf0 - 0x083327aa is .text\n""
  << TCmdLineDebugger.ReadLn "~"\t0x083327aa - 0x083327af is .fini\n""
  << TCmdLineDebugger.ReadLn "~"\t0x083327b0 - 0x083349ba is .rodata\n""
  << TCmdLineDebugger.ReadLn "~"\t0x083349bc - 0x083349c0 is .eh_frame\n""
  << TCmdLineDebugger.ReadLn "~"\t0x08335000 - 0x08335008 is .ctors\n""
  << TCmdLineDebugger.ReadLn "~"\t0x08335008 - 0x08335010 is .dtors\n""
  << TCmdLineDebugger.ReadLn "~"\t0x08335010 - 0x08335014 is .jcr\n""
  << TCmdLineDebugger.ReadLn "~"\t0x08335014 - 0x08335134 is .dynamic\n""
  << TCmdLineDebugger.ReadLn "~"\t0x08335134 - 0x083363f0 is .got.plt\n""
  << TCmdLineDebugger.ReadLn "~"\t0x083363f0 - 0x0859827f is .data\n""
  << TCmdLineDebugger.ReadLn "~"\t0x08598280 - 0x085bef58 is fpc.resources\n""
  << TCmdLineDebugger.ReadLn "~"\t0x085bef60 - 0x085d9d74 is .bss\n""
  << TCmdLineDebugger.ReadLn "~"\t0x085d9d74 - 0x085d9dc0 is fpc.reshandles\n""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  [Debugger] File type: elf32-i386
  [Debugger] Entry point: 0x8332700
  >> TCmdLineDebugger.SendCmdLn "-data-evaluate-expression sizeof(POINTER)"
  << TCmdLineDebugger.ReadLn "^done,value="4""
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-break-insert -f foo"
  << TCmdLineDebugger.ReadLn "&"Function \"foo\" not defined.\n""
  [Debugger] Log output: &"Function \"foo\" not defined.\n"
  << TCmdLineDebugger.ReadLn "^done,bkpt={number="5",type="breakpoint",disp="keep",enabled="y",addr="<PENDING>",pending="foo",times="0",original-location="foo"}"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-break-delete 5"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-exec-run"
  << TCmdLineDebugger.ReadLn "=thread-group-created,id="17287""
  [WARNING] Debugger: Unexpected async-record: =thread-group-created,id="17287"
  << TCmdLineDebugger.ReadLn "=thread-created,id="1",group-id="17287""
  << TCmdLineDebugger.ReadLn "^running"
  << TCmdLineDebugger.ReadLn "*running,thread-id="all""
  << TCmdLineDebugger.ReadLn "(gdb) "
  DebuggerState: Setting to Run, from Stop
    DebugEvent: Enter >> DoBeforeState <<  State=Run
    DebugEvent: Exit  >> DoBeforeState <<
    DebugEvent: Enter >> DoState <<  State=Run
    DebugEvent: Exit  >> DoState <<
  DebuggerState: Finished Run
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/ld-linux.so.2",target-name="/lib/ld-linux.so.2",host-name="/lib/ld-linux.so.2",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/i686/libpthread.so.0",target-name="/lib/i686/libpthread.so.0",host-name="/lib/i686/libpthread.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libX11.so.6",target-name="/usr/lib/libX11.so.6",host-name="/usr/lib/libX11.so.6",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libgdk_pixbuf-2.0.so.0",target-name="/usr/lib/libgdk_pixbuf-2.0.so.0",host-name="/usr/lib/libgdk_pixbuf-2.0.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libgtk-x11-2.0.so.0",target-name="/usr/lib/libgtk-x11-2.0.so.0",host-name="/usr/lib/libgtk-x11-2.0.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libgdk-x11-2.0.so.0",target-name="/usr/lib/libgdk-x11-2.0.so.0",host-name="/usr/lib/libgdk-x11-2.0.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libgobject-2.0.so.0",target-name="/usr/lib/libgobject-2.0.so.0",host-name="/usr/lib/libgobject-2.0.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libglib-2.0.so.0",target-name="/usr/lib/libglib-2.0.so.0",host-name="/usr/lib/libglib-2.0.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libgthread-2.0.so.0",target-name="/usr/lib/libgthread-2.0.so.0",host-name="/usr/lib/libgthread-2.0.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libgmodule-2.0.so.0",target-name="/usr/lib/libgmodule-2.0.so.0",host-name="/usr/lib/libgmodule-2.0.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libpango-1.0.so.0",target-name="/usr/lib/libpango-1.0.so.0",host-name="/usr/lib/libpango-1.0.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libatk-1.0.so.0",target-name="/usr/lib/libatk-1.0.so.0",host-name="/usr/lib/libatk-1.0.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libcairo.so.2",target-name="/usr/lib/libcairo.so.2",host-name="/usr/lib/libcairo.so.2",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/libdl.so.2",target-name="/lib/libdl.so.2",host-name="/lib/libdl.so.2",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/i686/libc.so.6",target-name="/lib/i686/libc.so.6",host-name="/lib/i686/libc.so.6",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libxcb.so.1",target-name="/usr/lib/libxcb.so.1",host-name="/usr/lib/libxcb.so.1",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libgio-2.0.so.0",target-name="/usr/lib/libgio-2.0.so.0",host-name="/usr/lib/libgio-2.0.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/i686/libm.so.6",target-name="/lib/i686/libm.so.6",host-name="/lib/i686/libm.so.6",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libpangocairo-1.0.so.0",target-name="/usr/lib/libpangocairo-1.0.so.0",host-name="/usr/lib/libpangocairo-1.0.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXfixes.so.3",target-name="/usr/lib/libXfixes.so.3",host-name="/usr/lib/libXfixes.so.3",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libpangoft2-1.0.so.0",target-name="/usr/lib/libpangoft2-1.0.so.0",host-name="/usr/lib/libpangoft2-1.0.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libfontconfig.so.1",target-name="/usr/lib/libfontconfig.so.1",host-name="/usr/lib/libfontconfig.so.1",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXinerama.so.1",target-name="/usr/lib/libXinerama.so.1",host-name="/usr/lib/libXinerama.so.1",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXi.so.6",target-name="/usr/lib/libXi.so.6",host-name="/usr/lib/libXi.so.6",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXrandr.so.2",target-name="/usr/lib/libXrandr.so.2",host-name="/usr/lib/libXrandr.so.2",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXcursor.so.1",target-name="/usr/lib/libXcursor.so.1",host-name="/usr/lib/libXcursor.so.1",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXcomposite.so.1",target-name="/usr/lib/libXcomposite.so.1",host-name="/usr/lib/libXcomposite.so.1",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXext.so.6",target-name="/usr/lib/libXext.so.6",host-name="/usr/lib/libXext.so.6",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXdamage.so.1",target-name="/usr/lib/libXdamage.so.1",host-name="/usr/lib/libXdamage.so.1",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXrender.so.1",target-name="/usr/lib/libXrender.so.1",host-name="/usr/lib/libXrender.so.1",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/libpcre.so.0",target-name="/lib/libpcre.so.0",host-name="/lib/libpcre.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/i686/librt.so.1",target-name="/lib/i686/librt.so.1",host-name="/lib/i686/librt.so.1",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libpixman-1.so.0",target-name="/usr/lib/libpixman-1.so.0",host-name="/usr/lib/libpixman-1.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libfreetype.so.6",target-name="/usr/lib/libfreetype.so.6",host-name="/usr/lib/libfreetype.so.6",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libpng12.so.0",target-name="/usr/lib/libpng12.so.0",host-name="/usr/lib/libpng12.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/libz.so.1",target-name="/lib/libz.so.1",host-name="/lib/libz.so.1",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXau.so.6",target-name="/usr/lib/libXau.so.6",host-name="/usr/lib/libXau.so.6",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libXdmcp.so.6",target-name="/usr/lib/libXdmcp.so.6",host-name="/usr/lib/libXdmcp.so.6",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/libresolv.so.2",target-name="/lib/libresolv.so.2",host-name="/lib/libresolv.so.2",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libxml2.so.2",target-name="/usr/lib/libxml2.so.2",host-name="/usr/lib/libxml2.so.2",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "~"[Thread debugging using libthread_db enabled]\n""
  [Debugger] Console output: ~"[Thread debugging using libthread_db enabled]\n"
  << TCmdLineDebugger.ReadLn "*stopped,reason="breakpoint-hit",disp="del",bkptno="1",frame={addr="0x0805dd80",func="main",args=[],file="custdraw.lpr",fullname="/home/felipe/Programas/test/custdraw/custdraw.lpr",line="14"},thread-id="1",stopped-threads="all",core="1""
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "info program"
  << TCmdLineDebugger.ReadLn "&"info program\n""
  [Debugger] Log output: &"info program\n"
  << TCmdLineDebugger.ReadLn "~"\tUsing the running image of child Thread 0xb714c6c0 (LWP 17287).\n""
  << TCmdLineDebugger.ReadLn "~"Program stopped at 0x805dd80.\n""
  << TCmdLineDebugger.ReadLn "~"It stopped at a breakpoint that has since been deleted.\n""
  << TCmdLineDebugger.ReadLn "~"Type \"info stack\" or \"info registers\" for more information.\n""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  [Debugger] Target PID: 17287
  DebuggerState: Setting to Init, from Run
    DebugEvent: Enter >> DoBeforeState <<  State=Init
    DebugEvent: Exit  >> DoBeforeState <<
    Queueing (Recurse-Count=1) at pos=0 cnt=0 State=Init Lock=1 Forced=False Prior=10: "TGDBMIDebuggerCommandBreakInsert: Source=/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas, Line=2606, Enabled=True"
    DebugEvent: Enter >> DoState <<  State=Init
      Queueing (Recurse-Count=1) at pos=0 cnt=1 State=Init Lock=1 Forced=False Prior=100: "TGDBMIDebuggerCommandLineSymbolInfo: Source=/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas"
    DebugEvent: Exit  >> DoState <<
  DebuggerState: Finished Init
  Queueing (Recurse-Count=1) at pos=2 cnt=2 State=Init Lock=1 Forced=False Prior=0: "TGDBMIDebuggerCommandExecute: -exec-continue"
Exec done
Executing (Recurse-Count=0) queued= 2 CmdPrior=100 CmdMinRunLvl=-1 : "TGDBMIDebuggerCommandLineSymbolInfo: Source=/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas" State=Init PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-symbol-list-lines /home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas"
  << TCmdLineDebugger.ReadLn "^done,lines=[{pc="0x082e1670",line="705"},{pc="0x082e1676",line="706"},{pc="0x082e167b",line="707"},{pc="0x082e167e",line="706"},{pc="0x082e1683",line="707"},{pc="0x082e1686",line="706"},{pc="0x082e16" ..(47153).. "2",line="0"},{pc="0x082e8d60",line="3077"},{pc="0x082e8d6f",line="3079"},{pc="0x082e8d73",line="0"}]"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Executing (Recurse-Count=0) queued= 1 CmdPrior=10 CmdMinRunLvl=-1 : "TGDBMIDebuggerCommandBreakInsert: Source=/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas, Line=2606, Enabled=True" State=Init PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "info line "/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas":2606"
  << TCmdLineDebugger.ReadLn "&"info line \"/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas\":2606\n""
  [Debugger] Log output: &"info line \"/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas\":2606\n"
  << TCmdLineDebugger.ReadLn "~"Line 2606 of \"customdrawnextras.pas\" starts at address 0x82e745e <ADDPAGE+110> and ends at 0x82e7492 <ADDPAGE+162>.\n""
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-break-insert -f customdrawnextras.pas:2606"
  << TCmdLineDebugger.ReadLn "^done,bkpt={number="6",type="breakpoint",disp="keep",enabled="y",addr="0x082e745e",func="ADDPAGE",file="customdrawnextras.pas",fullname="/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas",line="2606",times="0",original-location="customdrawnextras.pas:2606"}"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-break-enable 6"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=0 : "TGDBMIDebuggerCommandExecute: -exec-continue" State=Init PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-exec-continue"
  << TCmdLineDebugger.ReadLn "^running"
  << TCmdLineDebugger.ReadLn "*running,thread-id="all""
  << TCmdLineDebugger.ReadLn "(gdb) "
  DebuggerState: Setting to Run, from Init
    DebugEvent: Enter >> DoBeforeState <<  State=Run
    DebugEvent: Exit  >> DoBeforeState <<
    DebugEvent: Enter >> DoState <<  State=Run
    DebugEvent: Exit  >> DoState <<
  DebuggerState: Finished Run
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/gconv/UTF-16.so",target-name="/usr/lib/gconv/UTF-16.so",host-name="/usr/lib/gconv/UTF-16.so",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/lib/libnss_files.so.2",target-name="/lib/libnss_files.so.2",host-name="/lib/libnss_files.so.2",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so",target-name="/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so",host-name="/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libcanberra-gtk.so.0",target-name="/usr/lib/libcanberra-gtk.so.0",host-name="/usr/lib/libcanberra-gtk.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libcanberra.so.0",target-name="/usr/lib/libcanberra.so.0",host-name="/usr/lib/libcanberra.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libvorbisfile.so.3",target-name="/usr/lib/libvorbisfile.so.3",host-name="/usr/lib/libvorbisfile.so.3",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libtdb.so.1",target-name="/usr/lib/libtdb.so.1",host-name="/usr/lib/libtdb.so.1",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libltdl.so.7",target-name="/usr/lib/libltdl.so.7",host-name="/usr/lib/libltdl.so.7",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libvorbis.so.0",target-name="/usr/lib/libvorbis.so.0",host-name="/usr/lib/libvorbis.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/libogg.so.0",target-name="/usr/lib/libogg.so.0",host-name="/usr/lib/libogg.so.0",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/gtk-2.0/2.10.0/engines/libia_ora.so",target-name="/usr/lib/gtk-2.0/2.10.0/engines/libia_ora.so",host-name="/usr/lib/gtk-2.0/2.10.0/engines/libia_ora.so",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "=library-loaded,id="/usr/lib/pango/1.6.0/modules/pango-basic-fc.so",target-name="/usr/lib/pango/1.6.0/modules/pango-basic-fc.so",host-name="/usr/lib/pango/1.6.0/modules/pango-basic-fc.so",symbols-loaded="0""
  << TCmdLineDebugger.ReadLn "*stopped,reason="breakpoint-hit",disp="keep",bkptno="6",frame={addr="0x082e745e",func="ADDPAGE",args=[{name="this",value="0xb7149920"},{name="S",value="0x834443c 'test'"}],file="customdrawnextras.pas"" ..(95).. "ponents/customdrawn/customdrawnextras.pas",line="2606"},thread-id="1",stopped-threads="all",core="1""
  << TCmdLineDebugger.ReadLn "(gdb) "
  DebuggerState: Setting to Pause, from Run
    DebugEvent: Enter >> DoBeforeState <<  State=Pause
    DebugEvent: Exit  >> DoBeforeState <<
    DebugEvent: Enter >> DoState <<  State=Pause
      Queueing (Recurse-Count=1) at pos=0 cnt=0 State=Pause Lock=0 Forced=True Prior=5: "TGDBMIDebuggerCommandThreads"
    DebugEvent: Exit  >> DoState <<
    TGDBMIDebugger.UnLockCommandProcessing: Execute RunQueue 
      Leaving Queue with count: 1 Recurse-Count=1 State=Pause
    TGDBMIDebugger.UnLockCommandProcessing: Finished RunQueue
  DebuggerState: Finished Pause
Exec done
Executing (Recurse-Count=0) queued= 0 CmdPrior=5 CmdMinRunLvl=0 : "TGDBMIDebuggerCommandThreads" State=Pause PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-thread-info"
  << TCmdLineDebugger.ReadLn "^done,threads=[{id="1",target-id="Thread 0xb714c6c0 (LWP 17287)",frame={level="0",addr="0x082e745e",func="ADDPAGE",args=[{name="this",value="0xb7149920"},{name="S",value="0x834443c 'test'"}],file="cus" ..(118).. "nts/customdrawn/customdrawnextras.pas",line="2606"},state="stopped",core="1"}],current-thread-id="1""
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Pause
Executing (Recurse-Count=0) queued= 0 CmdPrior=2 CmdMinRunLvl=-1 : "TGDBMIDebuggerCommandStackDepth:" State=Pause PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-stack-info-depth"
  << TCmdLineDebugger.ReadLn "^done,depth="7""
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Pause
Executing (Recurse-Count=0) queued= 0 CmdPrior=2 CmdMinRunLvl=-1 : "TGDBMIDebuggerCommandStackFrames" State=Pause PauseWaitState=0
  Callstach.Frames A StartIdx=0 EndIdx=4
  Callstach.Frames B StartIdx=0 EndIdx=4
  >> TCmdLineDebugger.SendCmdLn "-stack-list-arguments 1 0 4"
  << TCmdLineDebugger.ReadLn "^done,stack-args=[frame={level="0",args=[{name="this",value="0xb7149920"},{name="S",value="0x834443c 'test'"}]},frame={level="1",args=[{name="SENDER",value="0xb71486c0"},{name="this",value="<error rea" ..(247).. "WNER",value="0xb710c2e0"},{name="vmt",value="0x1"},{name="this",value="<error reading variable>"}]}]"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-stack-list-frames 0 4"
  << TCmdLineDebugger.ReadLn "^done,stack=[frame={level="0",addr="0x082e745e",func="ADDPAGE",file="customdrawnextras.pas",fullname="/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas",line="2606"},frame={l" ..(627).. "e/customform.inc",fullname="/home/felipe/Programas/lazarus/lcl/include/customform.inc",line="2844"}]"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Pause
Executing (Recurse-Count=0) queued= 0 CmdPrior=1 CmdMinRunLvl=-1 : "TGDBMIDebuggerCommandLocals:" State=Pause PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-stack-list-arguments 1 0 0"
  << TCmdLineDebugger.ReadLn "^done,stack-args=[frame={level="0",args=[{name="this",value="0xb7149920"},{name="S",value="0x834443c 'test'"}]}]"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "-stack-list-locals 1"
  << TCmdLineDebugger.ReadLn "^done,locals=[{name="NEWPAGE",value="0xb7149c90"}]"
  << TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Pause
[TMainIDE.DoRunProject] A
[TMainIDE.DoRunProject] B TGDBMIDebugger
[TMainIDE.DoRunProject] END
Executing (Recurse-Count=0) queued= 0 CmdPrior=0 CmdMinRunLvl=0 : "TGDBMIDebuggerCommandExecute: -exec-continue" State=Pause PauseWaitState=0
  >> TCmdLineDebugger.SendCmdLn "-exec-continue"
  << TCmdLineDebugger.ReadLn "^running"
  << TCmdLineDebugger.ReadLn "*running,thread-id="1""
  << TCmdLineDebugger.ReadLn "(gdb) "
  DebuggerState: Setting to Run, from Pause
    DebugEvent: Enter >> DoBeforeState <<  State=Run
    DebugEvent: Exit  >> DoBeforeState <<
    INFO: TDBGDisassembler.Clear:  map had count=0
    DebugEvent: Enter >> DoState <<  State=Run

Program received signal SIGSEGV, Segmentation fault.
0x082770e5 in GTK_OBJECT_GET_CLASS (ANOBJECT=0x2600068) at gtk2proc.inc:149
149         result := PGtkTypeObject(anobject)^.g_Class
Missing debug package(s), you should install: GConf2-debug-2.28.1-1mdv2010.1.i586 ORBit2-debug-2.14.18-2mdv2010.1.i586 atk1.0-debug-1.30.0-1mdv2010.1.i586 cairo-debug-1.9.14-0.2mdv2010.1.i586 dbus-debug-1.2.24-1mdv2010.1.i586 expat-debug-2.0.1-12mdv2010.1.i586 fontconfig-debug-2.8.0-2mdv2010.1.i586 freetype2-debug-2.3.12-1.5plf2010.1.i586 gamin-debug-0.1.10-4mdv2010.1.i586 glib2.0-debug-2.24.1-1mdv2010.1.i586 glibc-debug-2.11.1-8.2mnb2.i586 gtk+2.0-debug-2.20.1-1mdv2010.1.i586 gvfs-debug-1.6.1-2mdv2010.1.i586 ia_ora-gnome-debug-1.0.24-1mdv2010.1.i586 libcanberra-debug-0.24-2mdv2010.1.i586 libogg-debug-1.2.0-1mdv2010.1.i586 libpng-debug-1.2.43-1.1mdv2010.1.i586 libtool-debug-2.2.6b-2mdv2010.1.i586 libvorbis-debug-1.3.1-1mdv2010.1.i586 libx11-debug-1.3.3-1mdv2010.1.i586 libxau-debug-1.0.5-2mdv2010.1.i586 libxcb-debug-1.6-1mdv2010.1.i586 libxcomposite-debug-0.4.1-1mdv2010.1.i586 libxcursor-debug-1.1.10-2mdv2010.1.i586 libxdamage-debug-1.1.2-1mdv2010.1.i586 libxdmcp-debug-1.0.3-2mdv2010.1.i586 libxext-debug-1.1.1-2mdv2010.1.i586 libxfixes-debug-4.0.4-1mdv2010.1.i586 libxi-debug-1.3-1mdv2010.1.i586 libxinerama-debug-1.1-1mdv2010.1.i586 libxml2-debug-2.7.7-1.2mdv2010.2.i586 libxrandr-debug-1.3.0-3mdv2010.1.i586 libxrender-debug-0.9.5-2mdv2010.1.i586 pango-debug-1.28.0-1mdv2010.1.i586 pcre-debug-8.02-1mdv2010.1.i586 pixman-debug-0.20.0-1mdv2010.1.i586 tdb-debug-1.2.1-1mdv2010.1.i586 udev-debug-153-5mnb2.i586 zlib-debug-1.2.3-15mdv2010.1.i586
(gdb) bt
#0  0x082770e5 in GTK_OBJECT_GET_CLASS (ANOBJECT=0x2600068) at gtk2proc.inc:149
#1  0x08277a7d in GTKWIDGETISA (WIDGET=0x2600068, ATYPE=152712400) at gtk2proc.inc:421
#2  0x081ddbbe in TGTK2WIDGETSET__SETFOREGROUNDWINDOW (HWND=39845992, this=<error reading variable>) at gtk2winapi.inc:8335
#3  0x081b7d5f in SETFOREGROUNDWINDOW (HWND=39845992) at ./include/winapi.inc:903
#4  0x0846ed0a in TDEBUGMANAGER__DEBUGGERCHANGESTATE (ADEBUGGER=0xb6a58660, OLDSTATE=DSPAUSE, this=<error reading variable>)
    at debugmanager.pas:1073
#5  0x0847e1da in TDEBUGGER__DOSTATE (OLDSTATE=DSPAUSE, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/debugger.pp:5841
#6  0x08808121 in TGDBMIDEBUGGER__DOSTATE (OLDSTATE=DSPAUSE, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:5985
#7  0x0847ee7b in TDEBUGGER__SETSTATE (AVALUE=DSRUN, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/debugger.pp:6102
#8  0x088132cf in TGDBMIDEBUGGERCOMMAND__SETDEBUGGERSTATE (AVALUE=DSRUN, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:9455
#9  0x08803f84 in TGDBMIDEBUGGERCOMMANDEXECUTE__DOEXECUTE (this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:5051
#10 0x08816f80 in TGDBMIDEBUGGERCOMMAND__EXECUTE (this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:10490
#11 0x08809435 in TGDBMIDEBUGGER__RUNQUEUE (this=<error reading variable>) at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:6221
#12 0x08809aae in TGDBMIDEBUGGER__QUEUECOMMAND (ACOMMAND=0xad373940, FORCEQUEUE=false, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:6342
#13 0x0880a6f5 in TGDBMIDEBUGGER__GDBRUN (this=<error reading variable>) at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:6599
#14 0x0880b5ea in TGDBMIDEBUGGER__REQUESTCOMMAND (ACOMMAND=DCRUN, APARAMS=<incomplete type>, highAPARAMS=-1, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/gdbmidebugger.pp:7008
#15 0x0847e9f0 in TDEBUGGER__REQCMD (ACOMMAND=DCRUN, APARAMS=<incomplete type>, highAPARAMS=-1, this=<error reading variable>)
    at /home/felipe/Programas/lazarus/debugger/debugger.pp:5991
#16 0x0847eaab in TDEBUGGER__RUN (this=<error reading variable>) at /home/felipe/Programas/lazarus/debugger/debugger.pp:6005
#17 0x08473136 in TDEBUGMANAGER__RUNDEBUGGER (this=<error reading variable>) at debugmanager.pas:2386
#18 0x0846dd72 in TDEBUGMANAGER__ONRUNTIMER (SENDER=0xb62d46e0, this=<error reading variable>) at debugmanager.pas:772
#19 0x082ad865 in TCUSTOMTIMER__DOONTIMER (this=<error reading variable>) at customtimer.pas:181
#20 0x082ad7cf in TCUSTOMTIMER__TIMER (this=<error reading variable>) at customtimer.pas:156
#21 0x0828aa84 in GTKTIMERCB (DATA=0xae585270) at gtk2callback.inc:2430
#22 0xb78b546f in ?? () from /usr/lib/libglib-2.0.so.0
#23 0xb78b4cbe in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0xb78b89f8 in ?? () from /usr/lib/libglib-2.0.so.0
#25 0xb78b8b9e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#26 0x081c8b65 in TGTK2WIDGETSET__APPPROCESSMESSAGES (this=<error reading variable>) at gtk2widgetset.inc:2397
#27 0x080a11cc in TAPPLICATION__HANDLEMESSAGE (this=<error reading variable>) at ./include/application.inc:1264
#28 0x080a161f in TAPPLICATION__RUNLOOP (this=<error reading variable>) at ./include/application.inc:1397
#29 0x08101df3 in TWIDGETSET__APPRUN (ALOOP=0x80a15e0 <TAPPLICATION__RUNLOOP>, this=<error reading variable>)
    at ./include/interfacebase.inc:60
#30 0x080a15da in TAPPLICATION__RUN (this=<error reading variable>) at ./include/application.inc:1385
#31 0x0805e1a5 in main () at lazarus.pp:119
(gdb) 

debug.txt (67,465 bytes)

Felipe Monteiro de Carvalho

2011-10-06 17:06

developer   ~0052663

> Can you recompile lazarus with the following defines:
> DBG_VERBOSE
> DBG_STATE
> DBGMI_QUEUE_DEBUG

Is the debug.txt file attached what you wanted?

Martin Friebe

2011-10-06 17:18

manager   ~0052664

Attached file is ok, unfortunately no new info in this case.

yes, of course "hide ide windows on run" was 3 lines above you crash, my bad.

ide\debugmanager.pas line 1085

        FPrevShownWindow := GetForegroundWindow;

We have to find out, which window it actually gets.
And why setting it back fails.

I did not find a way toi get the title, but I saw
function GetWindowRect(Handle : hwnd; var Rect : TRect): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
function GetWindowSize(Handle : hwnd; var Width, Height: integer): boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}

Maybe they work, and maybe the coordinates are good enough to identify the window...

Felipe Monteiro de Carvalho

2011-10-06 18:22

developer   ~0052668

I wrote this code:

    else if (OldState in [dsRun]) then
    begin
      if not FStepping then
      begin
        FPrevShownWindow := GetForegroundWindow;

        GetWindowRect(FPrevShownWindow, lRect);
        WriteLn(Format('FPrevShownWindow := GetForegroundWindow lRect=%d,%d,%d,%d', [lRect.Left, lRect.Top, lRect.Right, lRect.Bottom]));


But it does not seam to write anything...

Felipe Monteiro de Carvalho

2011-10-06 18:28

developer   ~0052669

Now I wrote:

begin
  WriteLn(Format('### [TDebugManager.DebuggerChangeState] FPrevShownWindow = %x', [FPrevShownWindow]));

  if Destroying or (MainIDE=nil) or (MainIDE.ToolStatus=itExiting)
  then begin
    UnlockDialogs;
    exit;


And I get:

### [TDebugManager.DebuggerChangeState] FPrevShownWindow = 0
[Debugger] Log output: &"info line \"/home/felipe/Programas/lazarus/components/customdrawn/customdrawnextras.pas\":2611\n"
### [TDebugManager.DebuggerChangeState] FPrevShownWindow = 0

### [TDebugManager.DebuggerChangeState] FPrevShownWindow = 0

Program received signal SIGSEGV, Segmentation fault.
0x0826b243 in GTK_OBJECT_GET_CLASS (ANOBJECT=0x2a0001c) at ./gtk2/gtk2proc.inc:149
149 result := PGtkTypeObject(anobject)^.g_Class
Missing debug package(s), you should install: GConf2-debug-2.28.1-1mdv2010.1.i586 ORBit2-debug-2.14.18-2mdv2010.1.i586 atk1.0-debug-1.30.0-1mdv2010.1.i586 cairo-debug-1.9.14-0.2mdv2010.1.i586 dbus-debug-1.2.24-1mdv2010.1.i586 expat-debug-2.0.1-12mdv2010.1.i586 fontconfig-debug-2.8.0-2mdv2010.1.i586 freetype2-debug-2.3.12-1.5plf2010.1.i586 gamin-debug-0.1.10-4mdv2010.1.i586 glib2.0-debug-2.24.1-1mdv2010.1.i586 glibc-debug-2.11.1-8.2mnb2.i586 gtk+2.0-debug-2.20.1-1mdv2010.1.i586 gvfs-debug-1.6.1-2mdv2010.1.i586 ia_ora-gnome-debug-1.0.24-1mdv2010.1.i586 libcanberra-debug-0.24-2mdv2010.1.i586 libogg-debug-1.2.0-1mdv2010.1.i586 libpng-debug-1.2.43-1.1mdv2010.1.i586 libtool-debug-2.2.6b-2mdv2010.1.i586 libvorbis-debug-1.3.1-1mdv2010.1.i586 libx11-debug-1.3.3-1mdv2010.1.i586 libxau-debug-1.0.5-2mdv2010.1.i586 libxcb-debug-1.6-1mdv2010.1.i586 libxcomposite-debug-0.4.1-1mdv2010.1.i586 libxcursor-debug-1.1.10-2mdv2010.1.i586 libxdamage-debug-1.1.2-1mdv2010.1.i586 libxdmcp-debug-1.0.3-2mdv2010.1.i586 libxext-debug-1.1.1-2mdv2010.1.i586 libxfixes-debug-4.0.4-1mdv2010.1.i586 libxi-debug-1.3-1mdv2010.1.i586 libxinerama-debug-1.1-1mdv2010.1.i586 libxml2-debug-2.7.7-1.2mdv2010.2.i586 libxrandr-debug-1.3.0-3mdv2010.1.i586 libxrender-debug-0.9.5-2mdv2010.1.i586 pango-debug-1.28.0-1mdv2010.1.i586 pcre-debug-8.02-1mdv2010.1.i586 pixman-debug-0.20.0-1mdv2010.1.i586 tdb-debug-1.2.1-1mdv2010.1.i586 udev-debug-153-5mnb2.i586 zlib-debug-1.2.3-15mdv2010.1.i586

Felipe Monteiro de Carvalho

2011-10-06 18:40

developer   ~0052670

It crashes in GetWindowRect =(

Detailed info:

### [TDebugManager.DebuggerChangeState] FPrevShownWindow = 0
### [TDebugManager.DebuggerChangeState] FPrevShownWindow = 0
Before GetForegroundWindow FPrevShownWindow=0
After GetForegroundWindow FPrevShownWindow=26000C0

Program received signal SIGSEGV, Segmentation fault.
0x0826b243 in GTK_OBJECT_GET_CLASS (ANOBJECT=0x26000c0) at ./gtk2/gtk2proc.inc:149
149 result := PGtkTypeObject(anobject)^.g_Class

Felipe Monteiro de Carvalho

2011-10-06 18:41

developer   ~0052671

function TGtk2WidgetSet.GetForegroundWindow: HWND;
begin
  Result:=0;
  {$IFDEF HASX}
  Result:=X11GetActiveWindow;
  {$ENDIF}
end;

function TGtk2WidgetSet.X11GetActivewindow: HWND;
var
  Display: PDisplay;
  RootWin: TWindow;
  ScreenNum: Integer;
  WMAtom: TAtom;
  ActualTypeReturn: TAtom;
  ActualFormatReturn: LongInt;
  NItemsReturn, BytesAfterReturn: Cardinal;
  Ptr: PByte;
  screen: PGdkScreen;
  Valid: Boolean;
begin
  screen:=gdk_screen_get_default;
  Display := gdk_x11_get_default_xdisplay;

  if Display = nil then
    exit;
  ScreenNum := gdk_screen_get_number(screen);
  RootWin := gdk_x11_get_default_root_xwindow;
  WMAtom := XInternAtom(Display,'_NET_ACTIVE_WINDOW', False);
  Valid:=XGetWindowProperty(Display, RootWin, WMAtom, 0, 1, False,
                                 AnyPropertyType, @ActualTypeReturn,
                                 @ActualFormatReturn, @NItemsReturn,
                                 @BytesAfterReturn, @Ptr)=0;
  if Valid then
  try
    if (ActualTypeReturn = None) or (ActualFormatReturn <> 32) or not Assigned(Ptr) then
      Valid := False;
    if Valid then Result := PCardinal(Ptr)^;
  finally
    if Assigned(Ptr) then
    XFree(Ptr);
  end;
end;

Felipe Monteiro de Carvalho

2011-10-06 18:45

developer   ~0052672

No return value in TGtk2WidgetSet.X11GetActivewindow if things go wrong!?

Felipe Monteiro de Carvalho

2011-10-06 18:48

developer   ~0052673

This routine has this bug, but the bug is not what causes the problem:

TGtk2WidgetSet.X11GetActivewindow
TGtk2WidgetSet.X11GetActivewindow Result=2600068
After GetForegroundWindow FPrevShownWindow=2600068

I fixed the routine and it still return the same.

It looks to me that you cannot use the result from GetForegroundWindow for anything, it is completely invalid in LCL-Gtk2

GetForegroundWindow returns something from X11, other routines expect a PGdkWindow

function TGtk2WidgetSet.SetForegroundWindow(hWnd : HWND): boolean;
var
  {$IFDEF VerboseFocus}
  LCLObject: TControl;
  {$ENDIF}
  GdkWindow: PGdkWindow;
  AForm: TCustomForm;
begin
  try
  {$IFDEF VerboseFocus}
  DbgOut('TGtk2WidgetSet.SetForegroundWindow hWnd=',DbgS(hWnd));
  LCLObject:=TControl(GetLCLObject(Pointer(hWnd)));
  if LCLObject<>nil then
    DebugLn(' LCLObject=',LCLObject.Name,':',LCLObject.ClassName)
  else
    DebugLn(' LCLObject=nil');
  {$ENDIF}
  Result := GtkWidgetIsA(PGtkWidget(hWnd),GTK_TYPE_WINDOW);
  if Result then
  begin
    GdkWindow := GetControlWindow(PgtkWidget(hwnd));
    if GdkWindow <> nil then
    begin
      if not gdk_window_is_visible(GdkWindow) then
      begin
        Result := False;
        Exit;
      end;
      AForm := TCustomForm(GetLCLObject(PgtkWidget(hwnd)));
      if (AForm <> nil) and (AForm is TCustomForm) and (AForm.Parent=nil) then
      begin
        if Screen.CustomFormZIndex(AForm) < Screen.GetCurrentModalFormZIndex then
        begin
          debugln('TGtk2WidgetSet.SetForegroundWindow Form=',DbgSName(AForm),
                  ' can not be raised, because ',
                  DbgSName(Screen.GetCurrentModalForm),
                  ' is modal and above.');
          Result := False;
          exit;
        end;
        Screen.MoveFormToZFront(AForm);
      end;
      {$IFDEF DebugGDKTraps}
      BeginGDKErrorTrap;
      {$ENDIF}
      gdk_window_show(GdkWindow);
      gdk_window_raise(GdkWindow);
      gdk_window_focus(GdkWindow, gtk_get_current_event_time);
      {$IFDEF DebugGDKTraps}
      EndGDKErrorTrap;
      {$ENDIF}
      // this currently will bring the window to the current desktop and focus it
      gtk_window_present(PGtkWindow(hWnd));
    end;
  end;
  except
  {$IFDEF HASX}
    Result:=X11Raise(hWnd);
  {$ENDIF}
  end;
end;

Felipe Monteiro de Carvalho

2011-10-07 08:02

developer   ~0052698

I don't know why GetForegroundWindow was implemented like that. To me it looks like it can be implemented with only Gtk calls:

http://www.gtk.org/api/2.6/gdk/GdkScreen.html#gdk-screen-get-default
http://www.gtk.org/api/2.6/gdk/GdkScreen.html#gdk-screen-get-toplevel-windows

August Klein

2011-10-07 08:39

reporter   ~0052704

Last edited: 2011-10-07 09:06

I implemented GetForegroundWindow and modified SetForegroundWindow. It has applied in revision 31087.

I'll try explain it...

GetForegroundWindow is a winapi function:
 
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633505%28v=vs.85%29.aspx

It retrieves a handle of the foreground window... it does not exist in Linux systems. So I tried to emulate it.

With Gtk calls we can't do it. With it, we only get a handle of a window of OUR application, but we need the handle of ANY window. And we only can do it with X Extended Window Manager messages like that.

Regarding this bug...I think that it already existed before, it happens when a popup window (like menuitems or dropdown in combobox) is showing and a breakpoint is raised. Try with 0.9.30 version which have not my changes to check it.

Felipe Monteiro de Carvalho

2011-10-07 09:12

developer   ~0052708

Your implementation has major issues:

1> No result is set if things go wrong. This may lead to random crashes.

2> Why didn't you wrap the resulting X11 window back into a GdkWindow?

http://developer.gnome.org/gdk/stable/gdk-X-Window-System-Interaction.html#gdk-window-foreign-new

If you suddently use a different handle type you simply achieve crashes in any routine which uses the handle...

3> Implement a routine like SetForeground based on getting an access violation and then catching it in a try except block is a very problematic solution. It should decidedly not be done.

I think I fixed all issues now.

Issue History

Date Modified Username Field Change
2011-10-06 13:16 Felipe Monteiro de Carvalho New Issue
2011-10-06 13:16 Felipe Monteiro de Carvalho Status new => assigned
2011-10-06 13:16 Felipe Monteiro de Carvalho Assigned To => Martin Friebe
2011-10-06 13:16 Felipe Monteiro de Carvalho LazTarget => -
2011-10-06 13:17 Felipe Monteiro de Carvalho Note Added: 0052638
2011-10-06 13:43 Martin Friebe Note Added: 0052643
2011-10-06 13:43 Martin Friebe Status assigned => feedback
2011-10-06 14:04 Martin Friebe Note Added: 0052646
2011-10-06 14:17 Martin Friebe Note Edited: 0052643
2011-10-06 14:27 Felipe Monteiro de Carvalho Note Added: 0052649
2011-10-06 14:27 Felipe Monteiro de Carvalho Note Edited: 0052649
2011-10-06 14:51 Felipe Monteiro de Carvalho Note Added: 0052652
2011-10-06 14:53 Felipe Monteiro de Carvalho Note Added: 0052653
2011-10-06 15:00 Martin Friebe Note Added: 0052654
2011-10-06 15:25 Felipe Monteiro de Carvalho Note Added: 0052655
2011-10-06 15:39 Felipe Monteiro de Carvalho Note Added: 0052656
2011-10-06 16:51 Felipe Monteiro de Carvalho LazTarget - => 0.99.0
2011-10-06 16:53 Felipe Monteiro de Carvalho Note Added: 0052662
2011-10-06 17:05 Felipe Monteiro de Carvalho File Added: debug.txt
2011-10-06 17:06 Felipe Monteiro de Carvalho Note Added: 0052663
2011-10-06 17:18 Martin Friebe Note Added: 0052664
2011-10-06 18:22 Felipe Monteiro de Carvalho Note Added: 0052668
2011-10-06 18:28 Felipe Monteiro de Carvalho Note Added: 0052669
2011-10-06 18:40 Felipe Monteiro de Carvalho Note Added: 0052670
2011-10-06 18:41 Felipe Monteiro de Carvalho Note Added: 0052671
2011-10-06 18:45 Felipe Monteiro de Carvalho Note Added: 0052672
2011-10-06 18:48 Felipe Monteiro de Carvalho Note Added: 0052673
2011-10-07 08:02 Felipe Monteiro de Carvalho Note Added: 0052698
2011-10-07 08:39 August Klein Note Added: 0052704
2011-10-07 09:03 Felipe Monteiro de Carvalho Status feedback => assigned
2011-10-07 09:03 Felipe Monteiro de Carvalho Assigned To Martin Friebe => Felipe Monteiro de Carvalho
2011-10-07 09:06 August Klein Note Edited: 0052704
2011-10-07 09:12 Felipe Monteiro de Carvalho Note Added: 0052708
2011-10-07 09:14 Felipe Monteiro de Carvalho Widgetset => GTK 2
2011-10-07 09:14 Felipe Monteiro de Carvalho Summary Random Debugger crashes => GetForegroundWindow crashes/freezes the IDE
2011-10-07 09:14 Felipe Monteiro de Carvalho Fixed in Revision => 32725
2011-10-07 09:14 Felipe Monteiro de Carvalho Status assigned => resolved
2011-10-07 09:14 Felipe Monteiro de Carvalho Fixed in Version => 0.9.31 (SVN)
2011-10-07 09:14 Felipe Monteiro de Carvalho Resolution open => fixed