[Mono-list] mono debugger

Jonathan Gagnon jonathan.gagnon at croesus.com
Fri May 2 15:44:05 EDT 2008


Hi,
 
I have a core dump of mono that I generated with gcore.  I want to be able
to see the managed call stack of the diffrent threads.  With the information
I got from here :
 
http://www.mono-project.com/Debugging
 
I thought I'd be able to see it with the mono_stack macro.  Unfortunately,
it requires a running application and it doesn't work with a core dump (I
get the error message "You can't do that without a process to debug." from
gdb).
 
I then tried the mono debugger.  According to the features list found here
(http://www.mono-project.com/Debugger), it is supposed to be able to examine
core dumps.  Unfortunately, I can't find the documentation on how to do it
anywhere.  The only thing I found out is that I can use the command "core
coreFileName" to load the core dump, but I get an exception when I do this.
Here is the exception I get :
 
(mdb) core ./core.27349
Loading core file ./core.27349
ERROR: Caught exception while executing command
Mono.Debugger.Frontend.DebuggerEngine: System.EntryPointNotFoundException:
mono_debugger_server_get_registers_from_core_file
  at (wrapper managed-to-native)
CoreFileThread:mono_debugger_server_get_registers_from_core_file
(intptr,intptr)
  at Mono.Debugger.Backend.CoreFile+CoreFileThread.read_registers ()
[0x00079] in /home/jonathang/trunk/debugger/backend/arch/CoreFile.cs:238
  at Mono.Debugger.Backend.CoreFile+CoreFileThread..ctor
(Mono.Debugger.Backend.CoreFile core, Int32 pid) [0x00038] in
/home/jonathang/trunk/debugger/backend/arch/CoreFile.cs:217
  at (wrapper remoting-invoke-with-check) CoreFileThread:.ctor
(Mono.Debugger.Backend.CoreFile,int)
  at Mono.Debugger.Backend.CoreFile.read_note_section () [0x00053] in
/home/jonathang/trunk/debugger/backend/arch/CoreFile.cs:146
  at Mono.Debugger.Backend.CoreFile..ctor
(Mono.Debugger.Backend.ThreadManager manager,
Mono.Debugger.Backend.ProcessStart start) [0x00077] in
/home/jonathang/trunk/debugger/backend/arch/CoreFile.cs:66
  at (wrapper remoting-invoke-with-check)
Mono.Debugger.Backend.CoreFile:.ctor
(Mono.Debugger.Backend.ThreadManager,Mono.Debugger.Backend.ProcessStart)
  at Mono.Debugger.Backend.CoreFile.OpenCoreFile
(Mono.Debugger.Backend.ThreadManager manager,
Mono.Debugger.Backend.ProcessStart start) [0x00000] in
/home/jonathang/trunk/debugger/backend/arch/CoreFile.cs:21
  at Mono.Debugger.Backend.ThreadManager.OpenCoreFile
(Mono.Debugger.Backend.ProcessStart start, Mono.Debugger.Thread[]& threads)
[0x00000] in /home/jonathang/trunk/debugger/backend/ThreadManager.cs:111
  at (wrapper remoting-invoke-with-check)
Mono.Debugger.Backend.ThreadManager:OpenCoreFile
(Mono.Debugger.Backend.ProcessStart,Mono.Debugger.Thread[]&)
  at Mono.Debugger.Backend.DebuggerServant.OpenCoreFile
(Mono.Debugger.DebuggerSession session, System.String core_file,
Mono.Debugger.Thread[]& threads) [0x00020] in
/home/jonathang/trunk/debugger/backend/DebuggerServant.cs:169
  at (wrapper remoting-invoke-with-check)
Mono.Debugger.Backend.DebuggerServant:OpenCoreFile
(Mono.Debugger.DebuggerSession,string,Mono.Debugger.Thread[]&)
  at Mono.Debugger.Debugger.OpenCoreFile (Mono.Debugger.DebuggerSession
session, System.String core_file, Mono.Debugger.Thread[]& threads) [0x00006]
in /home/jonathang/trunk/debugger/classes/Debugger.cs:153
  at (wrapper remoting-invoke-with-check)
Mono.Debugger.Debugger:OpenCoreFile
(Mono.Debugger.DebuggerSession,string,Mono.Debugger.Thread[]&)
  at Mono.Debugger.Frontend.Interpreter.OpenCoreFile (System.String
core_file) [0x00000]
  at (wrapper remoting-invoke-with-check)
Mono.Debugger.Frontend.Interpreter:OpenCoreFile (string)
  at Mono.Debugger.Frontend.OpenCoreFileCommand.DoExecute
(Mono.Debugger.Frontend.ScriptingContext context) [0x00000]
  at Mono.Debugger.Frontend.DebuggerCommand.Execute
(Mono.Debugger.Frontend.ScriptingContext context) [0x00000]
  at Mono.Debugger.Frontend.DebuggerCommand.Execute
(Mono.Debugger.Frontend.Engine e) [0x00000]
  at Mono.Debugger.Frontend.Engine.Run (System.String s,
System.Collections.ArrayList args) [0x00000]

Is this supposed to work and if it is, how can I get it to work?
 
Otherwise, is there any other way that I could get the managed call stack of
the threads from a core dump?
 
Thanks,
 
Jonathan
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-list/attachments/20080502/f251575c/attachment-0001.html 


More information about the Mono-list mailing list