Ooops Debugger Error under Mac OS using gdb lazarus / 12-Debugger ---------------------------------------------------------------------- freq · 2005-04-14 08:20 Hi, got the Ooops Debugger Error under Mac OS using gdb with the following output in the x11terminal. What the hell means that? I using the gdb version that comes with the 10.3.8. OS. Please help! --------------------- Free Pascal Compiler version 1.9.8 [2005/02/20] for powerpc Copyright (c) 1993-2005 by Florian Klaempfl Hint: Start of reading config file /etc/fpc.cfg Hint: End of reading config file /etc/fpc.cfg Target OS: Darwin for PowerPC Compiling /Users/jst/Development/source/test/project1.lpr Assembling project1 Linking /Users/jst/Development/source/test/project1 15 Lines compiled, 2.9 sec [TCompiler.Compile] end [TDebugManager.DoInitDebugger] A [TCmdLineDebugger] Debug PID: 1365 TGDBMIDebugger.ProcessResult Error: error [Debugger] Running GDB version: Apple version gdb-330.1 [TDebugManager.OnDebuggerChangeState] state: dsIdle [TDebugger.SetFileName] "/Users/jst/Development/source/test/project1" [WARNING] Debugger: Unexpected async-record: =shlibs-updated [TDebugManager.OnDebuggerChangeState] state: dsStop [TDebugManager.DoInitDebugger] END [TMainIDE.DoRunProject] B TGDBMIDebugger TDebugManager.RunDebugger B TGDBMIDebugger TGDBMIDebugger.ProcessResult Error: error [Debugger] Log output: &"info functions FPC_CPUINIT\n" [Debugger] Log output: &"info functions $$_RUNERROR$\n" [Debugger] Log output: &"info file\n" [Debugger] File type: [Debugger] Entry point: [Debugger] Console output: ~"[Switching to process 1369 local thread 0xd03]\n" [WARNING] Debugger: Unexpected async-record: =shlibs-updated [TDebugManager.OnDebuggerChangeState] state: dsRun [Debugger] Console output: ~"Re-enabling shared library breakpoints: 1 2 3 4\n" [Debugger] Notify output: =shlibs-updated [Debugger] Log output: &"info program\n" [WARNING] Debugger: Unknown record: macosx_debug_inferior_status: current status : [WARNING] Debugger: Unknown record:               inferior task: 0x10f [WARNING] Debugger: Unknown record:                 [SIGNAL THREAD] [WARNING] Debugger: Unknown record: macosx_debug_inferior_status: information on  debugger task: [WARNING] Debugger: Unknown record: macosx_debug_inferior_status: information on  inferior task: [WARNING] Debugger: Unknown record: macosx_debug_inferior_status: information on  debugger threads: [WARNING] Debugger: Unknown record:   thread: 0x50f [WARNING] Debugger: Unknown record:   thread: 0xe03 [WARNING] Debugger: Unknown record:   thread: 0x1103 [WARNING] Debugger: Unknown record: macosx_debug_inferior_status: information on  inferior threads: [WARNING] Debugger: Unknown record:   thread: 0xd03 [Debugger] Target PID: 0 [TDebugManager.OnDebuggerChangeState] state: dsError Ooops, the debugger entered the error state TDebugger.ReqCmd failed: Run [TMainIDE.DoRunProject] END ---------------------------------------------------------------------- Marc · 2005-04-14 09:22 Since I have no mac yet, the debugger is only tested on i386. Quote from: "freq" got the Ooops Debugger Error under Mac OS using gdb with the following output in the x11terminal. What the hell means that? For debugging, Lazarus uses gdb. It sends commands to gdb through stdin and it gets responses through stdout. THe Ooops error you get when Lazarus receives a response from gdb which it didn't expect to get. Quote I using the gdb version that comes with the 10.3.8. OS. no clue what comes with 10.3 Quote [Debugger] Running GDB version: Apple version gdb-330.1 Great.... Apple uses its own version numbering. Quote [WARNING] Debugger: Unexpected async-record: =shlibs-updated hmm... not fatal, but probably not good. Quote [TDebugManager.OnDebuggerChangeState] state: dsStop [TDebugManager.DoInitDebugger] END [TMainIDE.DoRunProject] B TGDBMIDebugger TDebugManager.RunDebugger B TGDBMIDebugger TGDBMIDebugger.ProcessResult Error: error [Debugger] Log output: &"info functions FPC_CPUINIT\n" [Debugger] Log output: &"info functions $$_RUNERROR$\n" [Debugger] Log output: &"info file\n" [Debugger] File type: [Debugger] Entry point: Empty ???? Did you enable debug info ? Quote [Debugger] Console output: ~"[Switching to process 1369 local thread 0xd03]\n" [WARNING] Debugger: Unexpected async-record: =shlibs-updated [TDebugManager.OnDebuggerChangeState] state: dsRun [Debugger] Console output: ~"Re-enabling shared library breakpoints: 1 2 3 4\n" [Debugger] Notify output: =shlibs-updated [Debugger] Log output: &"info program\n" [WARNING] Debugger: Unknown record: macosx_debug_inferior_status: current status : [WARNING] Debugger: Unknown record:               inferior task: 0x10f [WARNING] Debugger: Unknown record:                 [SIGNAL THREAD] [WARNING] Debugger: Unknown record: macosx_debug_inferior_status: information on  debugger task: [WARNING] Debugger: Unknown record: macosx_debug_inferior_status: information on  inferior task: [WARNING] Debugger: Unknown record: macosx_debug_inferior_status: information on  debugger threads: [WARNING] Debugger: Unknown record:   thread: 0x50f [WARNING] Debugger: Unknown record:   thread: 0xe03 [WARNING] Debugger: Unknown record:   thread: 0x1103 [WARNING] Debugger: Unknown record: macosx_debug_inferior_status: information on  inferior threads: [WARNING] Debugger: Unknown record:   thread: 0xd03 Now complete guessing starts Quote [Debugger] Target PID: 0 This is not good. The debugger failed to retrieve the PID of your app Quote [TDebugManager.OnDebuggerChangeState] state: dsError Ooops, the debugger entered the error state TDebugger.ReqCmd failed: Run [TMainIDE.DoRunProject] END Without PID there is nothing we can do. If you have enabled debuginfo when compiling your app, then I guess the output of mac-gdb is somehow different than the normal gdb. ---------------------------------------------------------------------- freq · 2005-04-14 09:42 Quote Did you enable debug info ? Yes is checked under Compiler Options \ Generatore Debugging Info for GDB. ---------------------------------------------------------------------- freq · 2005-04-14 09:52 I'm a boody new Mac OS and Unix beginner.... But could it be that gdb is not starting under x11 and then the program starts also fails? Starting an lazarus compiled program under the normal bash terminal will raise the error "Gtk-WARNING **: cannot open display.... In the x11 terminal it starts. ---------------------------------------------------------------------- Marc · 2005-04-14 12:25 That is a possible cause (there is no detection yet for X errors) Can you check if in the Run Parameters - Environment there is a DISPLAY variable and that is has a value ? If not, then you can either add a DISPLAY variable with the value :0 or (on the local tab) check Use Display with the value :0 ---------------------------------------------------------------------- Marc · 2005-04-18 12:39 OK, since I'm now a proud owner of a minimac, I could check it myself. The installed gdb is version 5.3. And I wonder what gdb 5.3 sources they used since some output differs from the gdb 5.3 versions I've seen before. A short intro to debugger internals. GDB has 2 modi, one for user interaction and one for machine interaction (MI). Lazarus uses the MI since the output of MI is well defined and formatted. Unfortunately the MI interface is not complete, so for some functions you need to use non MI commands. Most gdb versions I've seen so far have for non MI commands a non MI output. To get information about the image loaded, I use "info file" (which is a non MI command) to get the info. And what is the problem here, the MacOSX version of gdb returns the info as a MI output. Even on GDB 6.3 is that not the case (so I wonder what this versoin 5.3 really is) I've been looking for other GDB veresions for OSX, but haven't found any. I'm thinking of building a 6.3 myself. ---------------------------------------------------------------------- Marc · 2005-05-17 08:47 Last night I committed some fixes for this. AFAIK Lazarus should debug fine on mac OSX Check CVS.