Re: [Mono-dev] Compiling Mono with debug symbols to diagnose an issue with embedded Mono 4.0.2.5

2015-08-07 Thread Rodrigo Kumpera
This is caused because your mono was built with a bad TLS model and the
runtime is unable to find
the required offset.

Rebuild it using --with-tls=pthread should workaround your issue until
someone figures out what's wrong with
your setup.

On mixed mode debugging. It's incredibly complicated and there are no plans
to support it in the immediate future.

--
Rodrigo




On Tue, Aug 4, 2015 at 3:26 AM, jean-michel.perr...@csiro.au wrote:

 I have an R package with embedded Mono, on Linux, that is working on Mono
 3.12.x series but broken since  Mono 4.0.x.
 Crashes with:
 Assertion at sgen-alloc.c:774, condition `tlab_next_addr_offset != -1'
 not met

 Repro and details at https://github.com/jmp75/rClr/issues/7, but optional
 for this present question.

 What I am after is to step in debug mode through Mono, to diagnose and
 hopefully figure out a fix, but could not find a procedure to:

 * build/install mono from source (I know that) but with debug symbols
 * If the above is done, can I use MonoDevelop or other graphical front-end
 to attach to the process with embedded Mono and step through code with GDB.
 I can already attach  MonoDevelop to the R process and catch the crash, but
 the call stack is devoid of info and reference to the source code
 (presumably lacking the former debug symbols?)

 Any advice on how to go about it is welcome. I hope we can do better than
 command line gdb.

 Cheers
 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Compiling Mono with debug symbols to diagnose an issue with embedded Mono 4.0.2.5

2015-08-06 Thread Jonathan Mitchell

 On 5 Aug 2015, at 18:19, Alexander Köplinger alex.koeplin...@outlook.com 
 wrote:
 
 You can build the MDK with 
 https://github.com/mono/bockbuild#the-mono-mac-distribution, but I'm not sure 
 if that includes debug symbols (I think it does).
 
Nice to see that bockbuild now has some usage notes in the readme.
It says:

$ git clone g...@github.com:mono/bockbuild bockbuild
$ cd bockbuild/profiles/mono-mac-release
$ MONO_VERSION=4.9.9 ./mono-mac-release.py --build --arch darwin-32

Not sure if that generates a symbolicated build.


 -- Alex
 
 From: jonat...@mugginsoft.com
 Date: Wed, 5 Aug 2015 18:06:37 +0100
 To: Mono-devel-list@lists.ximian.com
 Subject: Re: [Mono-dev] Compiling Mono with debug symbols to diagnose an 
 issue with embedded Mono 4.0.2.5
 
 
 On 5 Aug 2015, at 02:12, jean-michel.perr...@csiro.au wrote:
 
 I am trying to debug C code, mostly to step through the mono runtime itself.
 I too would like to debug the Mono runtime itself and so would really, 
 really, really like to able to build an MDK with debug symbols and source 
 code references.
 
 Why do I need to debug the runtime?
 I have written an Obj-C  C# bridge utilising the runtime and in some 
 situations I cannot figure out what the correct embedded API function 
 signatures are for more complex generic managed methods. Being able to debug 
 the runtime would give me some insight into what is going on in the method 
 signature search process.
 
 That said, I would not at all refuse a howto guide for mixed mode (C and 
 C#) debugging on Linux (not possible so far as I know). I may try to give a 
 try on Windows with Visual Studio, but as a fallback option as this issue 
 may not be reproducible on it anyway.
 
 Here is my take on debugging Mono based on working on OS X.
 
 C
 ==
 
 On the Obj-C side (Obj-C is a strict superset of C) I should be able to step 
 into the Mono runtime code via the Xcode side if my Mono runtime build 
 supported debug symbols and their source code references. I reckon that most 
 C IDEs should be fit to do the same.
 
 
 C#
 ==
 
 I don’t know of a way to seamlessly debug both C and C# via the same IDE on 
 OS X (perhaps VS can so this on windows).
 To debug the managed code in my OS X app I do roughly the following (more 
 detail follows in the notes below).
 
 1. Configure the OS X app embedded Mono code to use the Mono soft debugger 
 (this is a remote capable software debugger that runs over TCP-IP see 
 http://www.mono-project.com/docs/advanced/runtime/docs/soft-debugger/).
 2. Run my OS X outside of my Xcode IDE. If I don’t do this then the signals 
 generated by the debugee tend to get caught by the IDE debugger rather than 
 the Mono soft debugger.
 3. Fire up Xamarin Studio (XS) on a Windows machine (in my case a Windows VM 
 on the same physical machine but a networked base PC should work just fine 
 too).
 4. In XS connect to the remote debugger, set breakpoints etc.
 5. Exercise the OS X app and trigger breakpoints in XS.
 
 Getting the soft debugger/Xamarin setup correctly can be fiddly but it does 
 work.
 It may be possible to debug the managed code by Using Xamarin Studio on OS X 
 or Linux but in my case (as I was building the Managed code assemblies on 
 the Windows VM anyway) it was easiest to run XS on Windows.
 
 Debugging Mono Embedded API
 ===
 
 The embedded managed code can be debugged (including breakpoints and single 
 stepping) using Xamarin Studio.
 
 1. Config OS X app to attach to Mono soft Debugger.
 
 Xamarin Studio must be running on machine with IP 192.168.1.72 (in this case 
 my windows VM)
 [DBManagedEnvironment setRuntimeOptions:@{@address : @192.168.1.72, 
 @port : @1, @loglevel : @0}];
 
 2. Call DBManagedEnvironment +setRuntimeOptions: with IP address and port of 
 Windows VM running the Xamarin Studio debugger.
 
 + (void)setRuntimeOptions:(NSDictionary *)options
 {
 // NOTE: be sure to call this before -initWithDomainName
 
 // for info on these options see man mono
 // the debugger can be configured either as a client or a server
 NSString *address = options[@address]?:@127.0.0.1;
 NSString *port = options[@port]?:@1;
 NSString *server = options[@server]?:@n;
 NSString *suspend = options[@suspend]?:@y;
 NSString *loglevel = options[@loglevel]?:@1;
 NSString *timeout = options[@timeout]?:@10;
 
 NSString *agent = [NSString 
 stringWithFormat:@--debugger-agent=transport=dt_socket,address=%@:%@,server=%@,suspend=%@,loglevel=%@,timeout=%@,
  address, port, server, suspend, loglevel,timeout];
 const char* jit_options[] = {
 --soft-breakpoints,
 [agent UTF8String]
 };
 
 mono_jit_parse_options(2, (char**)jit_options);
 
 mono_debug_init(MONO_DEBUG_FORMAT_MONO);
 }
 
 see 
 https://github.com/ThesaurusSoftware/Dubrovnik/blob/master/Framework/XCode/DBManagedEnvironment.m#L167
 
 
 3. Run app outside of Xcode. The app will pause if the remote debugger is 
 not responding.
 4. Run Xamarin Studio (preconfigure env var to enable the 

Re: [Mono-dev] Compiling Mono with debug symbols to diagnose an issue with embedded Mono 4.0.2.5

2015-08-06 Thread Jonathan Mitchell

 On 6 Aug 2015, at 15:34, Howard Rubin howard.ru...@hl.konicaminolta.us 
 wrote:
 
 You have to create the generic method. That can be done in C#, which it
 sounds like you're already doing.
 If you'd like to do that in the calling C++/mono (my preferred solution),
 have a look at 
 https://gist.github.com/gedim21/8d86ba8e59ac5d8ed0ee

Thanks for the link.
This is more or less what I am doing - will need to review the code again.
For most of my unit test signatures what I have works fine - only some more 
complex ones are causing trouble

Jonathan
 
 Howard Rubin
 
 -Original Message-
 From: Jonathan Mitchell [mailto:jonat...@mugginsoft.com] 
 Sent: Thursday, August 06, 2015 3:03 AM
 To: Howard Rubin howard.ru...@hl.konicaminolta.us
 Subject: Re: [Mono-dev] Compiling Mono with debug symbols to diagnose an
 issue with embedded Mono 4.0.2.5
 
 On 5 Aug 2015, at 21:55, Howard Rubin howard.ru...@hl.konicaminolta.us
 wrote:
 
 Did the problem situation have to do with generics?
 
 IIRC one of the problem signatures was
 
 public void SendTelemetry(string url, string productCode, params
 KeyValuePairstring, object[] additionalData)
 
 I use a code generator (which can handle moderate range of signatures
 without issue) to parse
 
 https://github.com/ThesaurusSoftware/Dubrovnik/blob/master/dotNET/UnitTests/
 Dubrovnik.UnitTests/ReferenceObject.cs
 
 into
 
 https://github.com/ThesaurusSoftware/Dubrovnik/blob/master/dotNET/UnitTests/
 GeneratedObjC/Dubrovnik_UnitTests_ReferenceObject.m
 
 For the problem signature I had to resort to using a managed helper function
 with a simpler signature.
 
 
 -Original Message-
 From: Jonathan Mitchell [mailto:jonat...@mugginsoft.com]
 Sent: Wednesday, August 05, 2015 1:19 PM
 To: Howard Rubin howard.ru...@hl.konicaminolta.us
 Subject: Re: [Mono-dev] Compiling Mono with debug symbols to diagnose 
 an issue with embedded Mono 4.0.2.5
 
 Hi Howard
 
 Thanks for that.
 I have some code that does something similar but I am still running 
 into situations where I just cannot get the signature figured out.
 IIRC the signature I used agreed with mono_method_full_name() but the 
 method lookup still failed.
 I will take another crack at it and hopefully inspiration will strike.
 
 Thanks again
 
 Jonathan
 
 
 On 5 Aug 2015, at 20:09, Howard Rubin 
 howard.ru...@hl.konicaminolta.us
 wrote:
 
 Hi Jonathan,
 At the risk of defeating my purpose of debugging mono, here’s what I 
 use to “figure out what the correct embedded API function signatures”.
 Hope this helps, Howard Rubin
 
 static void ListMethods(MonoClass* theClass) {
  void* iterM = NULL;
  MonoMethod* mm;
  while ((mm = mono_class_get_methods(theClass, iterM)) != NULL) {
  const char* name = mono_method_get_name(mm);
  printf(mono_method_get_name returned %s \%s\\n, name,
 mono_method_full_name(mm, true));
  }
 }
 
 From: mono-devel-list-boun...@lists.ximian.com
 [mailto:mono-devel-list-boun...@lists.ximian.com] On Behalf Of 
 Alexander Köplinger
 Sent: Wednesday, August 05, 2015 11:19 AM
 To: Mono-devel-list@lists.ximian.com
 Subject: Re: [Mono-dev] Compiling Mono with debug symbols to diagnose 
 an issue with embedded Mono 4.0.2.5
 
 You can build the MDK with
 https://github.com/mono/bockbuild#the-mono-mac-distribution, but I'm 
 not sure if that includes debug symbols (I think it does).
 
 -- Alex
 
 From: jonat...@mugginsoft.com
 Date: Wed, 5 Aug 2015 18:06:37 +0100
 To: Mono-devel-list@lists.ximian.com
 Subject: Re: [Mono-dev] Compiling Mono with debug symbols to 
 diagnose an issue with embedded Mono 4.0.2.5
 
 
 On 5 Aug 2015, at 02:12, jean-michel.perr...@csiro.au wrote:
 
 I am trying to debug C code, mostly to step through the mono 
 runtime
 itself.
 I too would like to debug the Mono runtime itself and so would 
 really,
 really, really like to able to build an MDK with debug symbols and 
 source code references.
 
 Why do I need to debug the runtime?
 I have written an Obj-C  C# bridge utilising the runtime and in 
 some
 situations I cannot figure out what the correct embedded API function 
 signatures are for more complex generic managed methods. Being able to 
 debug the runtime would give me some insight into what is going on in 
 the method signature search process.
 
 That said, I would not at all refuse a howto guide for mixed mode 
 (C
 and C#) debugging on Linux (not possible so far as I know). I may try 
 to give a try on Windows with Visual Studio, but as a fallback option 
 as this issue may not be reproducible on it anyway.
 
 Here is my take on debugging Mono based on working on OS X.
 
 C
 ==
 
 On the Obj-C side (Obj-C is a strict superset of C) I should be able 
 to
 step into the Mono runtime code via the Xcode side if my Mono runtime 
 build supported debug symbols and their source code references. I 
 reckon that most C IDEs should be fit to do the same.
 
 
 C#
 ==
 
 I don’t know of a way to seamlessly debug both C and C# via the same 
 IDE
 on OS X (perhaps VS can 

Re: [Mono-dev] Compiling Mono with debug symbols to diagnose an issue with embedded Mono 4.0.2.5

2015-08-05 Thread Howard Rubin
+1
I'll amplify what @Jean-Michel.Perraud said: a howto guide for mixed mode
(C and C#) debugging on Linux is absolutely essential for any serious
development effort.

That's because the apparent lack of debugging capability really slows
development for projects using mono.

For an idea of what would really make mono a serious contender, note that
Visual Studio on Windows debugs C++/CLI and C# seamlessly back and forth
across the language boundary.

-Original Message-
From: mono-devel-list-boun...@lists.ximian.com
[mailto:mono-devel-list-boun...@lists.ximian.com] On Behalf Of
jean-michel.perr...@csiro.au
Sent: Tuesday, August 04, 2015 7:12 PM
To: jonat...@mugginsoft.com; Mono-devel-list@lists.ximian.com
Subject: Re: [Mono-dev] Compiling Mono with debug symbols to diagnose an
issue with embedded Mono 4.0.2.5

I am trying to debug C code, mostly to step through the mono runtime itself.
The issue seems to arise really quickly and I do not expect c# code (mine or
the framework's) to be at fault here. That said, I would not at all refuse a
howto guide for mixed mode (C and C#) debugging on Linux (not possible so
far as I know). I may try to give a try on Windows with Visual Studio, but
as a fallback option as this issue may not be reproducible on it anyway.

From: mono-devel-list-boun...@lists.ximian.com
[mono-devel-list-boun...@lists.ximian.com] on behalf of Jonathan Mitchell
[jonat...@mugginsoft.com]
Sent: Tuesday, August 04, 2015 7:34 PM
To: Mono-devel-list@lists.ximian.com
Subject: Re: [Mono-dev] Compiling Mono with debug symbols to diagnose an
issue with embedded Mono 4.0.2.5

 On 4 Aug 2015, at 08:26, jean-michel.perr...@csiro.au wrote:

 * build/install mono from source (I know that) but with debug symbols
I would second this.

 * If the above is done, can I use MonoDevelop or other graphical front-end
to attach to the process with embedded Mono and step through code with GDB.
I can already attach  MonoDevelop to the R process and catch the crash, but
the call stack is devoid of info and reference to the source code
(presumably lacking the former debug symbols?)

Are you trying to debug the managed code or the embedded C API?

Jonathan













___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Compiling Mono with debug symbols to diagnose an issue with embedded Mono 4.0.2.5

2015-08-05 Thread Jonathan Mitchell

 On 5 Aug 2015, at 02:12, jean-michel.perr...@csiro.au wrote:
 
 I am trying to debug C code, mostly to step through the mono runtime itself.
I too would like to debug the Mono runtime itself and so would really, really, 
really like to able to build an MDK with debug symbols and source code 
references.

Why do I need to debug the runtime?
I have written an Obj-C  C# bridge utilising the runtime and in some 
situations I cannot figure out what the correct embedded API function 
signatures are for more complex generic managed methods. Being able to debug 
the runtime would give me some insight into what is going on in the method 
signature search process.

  That said, I would not at all refuse a howto guide for mixed mode (C and C#) 
 debugging on Linux (not possible so far as I know). I may try to give a try 
 on Windows with Visual Studio, but as a fallback option as this issue may not 
 be reproducible on it anyway.

Here is my take on debugging Mono based on working on OS X.

C
==

On the Obj-C side (Obj-C is a strict superset of C) I should be able to step 
into the Mono runtime code via the Xcode side if my Mono runtime build 
supported debug symbols and their source code references. I reckon that most C 
IDEs should be fit to do the same.


C#
==

I don’t know of a way to seamlessly debug both C and C# via the same IDE on OS 
X (perhaps VS can so this on windows).
To debug the managed code in my OS X app I do roughly the following (more 
detail follows in the notes below).

1. Configure the OS X app embedded Mono code to use the Mono soft debugger 
(this is a remote capable software debugger that runs over TCP-IP see 
http://www.mono-project.com/docs/advanced/runtime/docs/soft-debugger/).
2. Run my OS X outside of my Xcode IDE. If I don’t do this then the signals 
generated by the debugee tend to get caught by the IDE debugger rather than the 
Mono soft debugger.
3. Fire up Xamarin Studio (XS) on a Windows machine (in my case a Windows VM on 
the same physical machine but a networked base PC should work just fine too).
4. In XS connect to the remote debugger, set breakpoints etc.
5. Exercise the OS X app and trigger breakpoints in XS.

Getting the soft debugger/Xamarin setup correctly can be fiddly but it does 
work.
It may be possible to debug the managed code by Using Xamarin Studio on OS X or 
Linux but in my case (as I was building the Managed code assemblies on the 
Windows VM anyway) it was easiest to run XS on Windows.

Debugging Mono Embedded API
===

The embedded managed code can be debugged (including breakpoints and single 
stepping) using Xamarin Studio.

1. Config OS X app to attach to Mono soft Debugger.

Xamarin Studio must be running on machine with IP 192.168.1.72 (in this case my 
windows VM)
 [DBManagedEnvironment setRuntimeOptions:@{@address : @192.168.1.72, 
@port : @1, @loglevel : @0}];

2. Call DBManagedEnvironment +setRuntimeOptions: with IP address and port of 
Windows VM running the Xamarin Studio debugger.

+ (void)setRuntimeOptions:(NSDictionary *)options
{
// NOTE: be sure to call this before -initWithDomainName

// for info on these options see man mono
// the debugger can be configured either as a client or a server
NSString *address = options[@address]?:@127.0.0.1;
NSString *port = options[@port]?:@1;
NSString *server = options[@server]?:@n;
NSString *suspend = options[@suspend]?:@y;
NSString *loglevel = options[@loglevel]?:@1;
NSString *timeout = options[@timeout]?:@10;

NSString *agent = [NSString 
stringWithFormat:@--debugger-agent=transport=dt_socket,address=%@:%@,server=%@,suspend=%@,loglevel=%@,timeout=%@,
 address, port, server, suspend, loglevel,timeout];
const char* jit_options[] = {
--soft-breakpoints,
[agent UTF8String]
};

mono_jit_parse_options(2, (char**)jit_options);

mono_debug_init(MONO_DEBUG_FORMAT_MONO);
}

see 
https://github.com/ThesaurusSoftware/Dubrovnik/blob/master/Framework/XCode/DBManagedEnvironment.m#L167


3. Run app outside of Xcode. The app will pause if the remote debugger is not 
responding.
4. Run Xamarin Studio (preconfigure env var to enable the soft debug menu if it 
is not visible) on the VM and load the solution being debugged on OS X.
5. Set start up project as appropriate (May be better to have a dummy exe 
project rather than rebuild this all the time).
6. Select Run - Run with - Custom command Mono soft debugger.
7. Enter IP address and port.
8. Click Listen.
9. Set breakpoints as normal.

Notes on Use of the Mono Soft Debugger
==

See http://www.jeffongames.com/2012/03/debugging-embedded-mono/
http://mono.1490590.n4.nabble.com/remote-debugging-a-hello-world-application-td4591791.html

The debugee should connect to the debugger on the configured listener IP and 
port.
The Windows firewall will need to allow the incoming connection.
To check if the connection is up and 

Re: [Mono-dev] Compiling Mono with debug symbols to diagnose an issue with embedded Mono 4.0.2.5

2015-08-05 Thread Alexander Köplinger
You can build the MDK with 
https://github.com/mono/bockbuild#the-mono-mac-distribution, but I'm not sure 
if that includes debug symbols (I think it does).
-- Alex

 From: jonat...@mugginsoft.com
 Date: Wed, 5 Aug 2015 18:06:37 +0100
 To: Mono-devel-list@lists.ximian.com
 Subject: Re: [Mono-dev] Compiling Mono with debug symbols to diagnose an  
 issue with embedded Mono 4.0.2.5
 
 
  On 5 Aug 2015, at 02:12, jean-michel.perr...@csiro.au wrote:
  
  I am trying to debug C code, mostly to step through the mono runtime itself.
 I too would like to debug the Mono runtime itself and so would really, 
 really, really like to able to build an MDK with debug symbols and source 
 code references.
 
 Why do I need to debug the runtime?
 I have written an Obj-C  C# bridge utilising the runtime and in some 
 situations I cannot figure out what the correct embedded API function 
 signatures are for more complex generic managed methods. Being able to debug 
 the runtime would give me some insight into what is going on in the method 
 signature search process.
 
   That said, I would not at all refuse a howto guide for mixed mode (C and 
  C#) debugging on Linux (not possible so far as I know). I may try to give a 
  try on Windows with Visual Studio, but as a fallback option as this issue 
  may not be reproducible on it anyway.
 
 Here is my take on debugging Mono based on working on OS X.
 
 C
 ==
 
 On the Obj-C side (Obj-C is a strict superset of C) I should be able to step 
 into the Mono runtime code via the Xcode side if my Mono runtime build 
 supported debug symbols and their source code references. I reckon that most 
 C IDEs should be fit to do the same.
 
 
 C#
 ==
 
 I don’t know of a way to seamlessly debug both C and C# via the same IDE on 
 OS X (perhaps VS can so this on windows).
 To debug the managed code in my OS X app I do roughly the following (more 
 detail follows in the notes below).
 
 1. Configure the OS X app embedded Mono code to use the Mono soft debugger 
 (this is a remote capable software debugger that runs over TCP-IP see 
 http://www.mono-project.com/docs/advanced/runtime/docs/soft-debugger/).
 2. Run my OS X outside of my Xcode IDE. If I don’t do this then the signals 
 generated by the debugee tend to get caught by the IDE debugger rather than 
 the Mono soft debugger.
 3. Fire up Xamarin Studio (XS) on a Windows machine (in my case a Windows VM 
 on the same physical machine but a networked base PC should work just fine 
 too).
 4. In XS connect to the remote debugger, set breakpoints etc.
 5. Exercise the OS X app and trigger breakpoints in XS.
 
 Getting the soft debugger/Xamarin setup correctly can be fiddly but it does 
 work.
 It may be possible to debug the managed code by Using Xamarin Studio on OS X 
 or Linux but in my case (as I was building the Managed code assemblies on the 
 Windows VM anyway) it was easiest to run XS on Windows.
 
 Debugging Mono Embedded API
 ===
 
 The embedded managed code can be debugged (including breakpoints and single 
 stepping) using Xamarin Studio.
 
 1. Config OS X app to attach to Mono soft Debugger.
 
 Xamarin Studio must be running on machine with IP 192.168.1.72 (in this case 
 my windows VM)
  [DBManagedEnvironment setRuntimeOptions:@{@address : @192.168.1.72, 
 @port : @1, @loglevel : @0}];
 
 2. Call DBManagedEnvironment +setRuntimeOptions: with IP address and port of 
 Windows VM running the Xamarin Studio debugger.
 
 + (void)setRuntimeOptions:(NSDictionary *)options
 {
 // NOTE: be sure to call this before -initWithDomainName
 
 // for info on these options see man mono
 // the debugger can be configured either as a client or a server
 NSString *address = options[@address]?:@127.0.0.1;
 NSString *port = options[@port]?:@1;
 NSString *server = options[@server]?:@n;
 NSString *suspend = options[@suspend]?:@y;
 NSString *loglevel = options[@loglevel]?:@1;
 NSString *timeout = options[@timeout]?:@10;
 
 NSString *agent = [NSString 
 stringWithFormat:@--debugger-agent=transport=dt_socket,address=%@:%@,server=%@,suspend=%@,loglevel=%@,timeout=%@,
  address, port, server, suspend, loglevel,timeout];
 const char* jit_options[] = {
 --soft-breakpoints,
 [agent UTF8String]
 };
 
 mono_jit_parse_options(2, (char**)jit_options);
 
 mono_debug_init(MONO_DEBUG_FORMAT_MONO);
 }
 
 see 
 https://github.com/ThesaurusSoftware/Dubrovnik/blob/master/Framework/XCode/DBManagedEnvironment.m#L167
 
 
 3. Run app outside of Xcode. The app will pause if the remote debugger is not 
 responding.
 4. Run Xamarin Studio (preconfigure env var to enable the soft debug menu if 
 it is not visible) on the VM and load the solution being debugged on OS X.
 5. Set start up project as appropriate (May be better to have a dummy exe 
 project rather than rebuild this all the time).
 6. Select Run - Run with - Custom command Mono soft debugger.
 

[Mono-dev] Compiling Mono with debug symbols to diagnose an issue with embedded Mono 4.0.2.5

2015-08-04 Thread Jean-Michel.Perraud
I have an R package with embedded Mono, on Linux, that is working on Mono 
3.12.x series but broken since  Mono 4.0.x.
Crashes with:
Assertion at sgen-alloc.c:774, condition `tlab_next_addr_offset != -1' not 
met

Repro and details at https://github.com/jmp75/rClr/issues/7, but optional for 
this present question.

What I am after is to step in debug mode through Mono, to diagnose and 
hopefully figure out a fix, but could not find a procedure to:

* build/install mono from source (I know that) but with debug symbols
* If the above is done, can I use MonoDevelop or other graphical front-end to 
attach to the process with embedded Mono and step through code with GDB. I can 
already attach  MonoDevelop to the R process and catch the crash, but the call 
stack is devoid of info and reference to the source code (presumably lacking 
the former debug symbols?)

Any advice on how to go about it is welcome. I hope we can do better than 
command line gdb.

Cheers
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Compiling Mono with debug symbols to diagnose an issue with embedded Mono 4.0.2.5

2015-08-04 Thread Jonathan Mitchell

 On 4 Aug 2015, at 08:26, jean-michel.perr...@csiro.au wrote:
 
 * build/install mono from source (I know that) but with debug symbols
I would second this. 

 * If the above is done, can I use MonoDevelop or other graphical front-end to 
 attach to the process with embedded Mono and step through code with GDB. I 
 can already attach  MonoDevelop to the R process and catch the crash, but the 
 call stack is devoid of info and reference to the source code (presumably 
 lacking the former debug symbols?)

Are you trying to debug the managed code or the embedded C API?

Jonathan













___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Compiling Mono with debug symbols to diagnose an issue with embedded Mono 4.0.2.5

2015-08-04 Thread Jean-Michel.Perraud
I am trying to debug C code, mostly to step through the mono runtime itself. 
The issue seems to arise really quickly and I do not expect c# code (mine or 
the framework's) to be at fault here. That said, I would not at all refuse a 
howto guide for mixed mode (C and C#) debugging on Linux (not possible so far 
as I know). I may try to give a try on Windows with Visual Studio, but as a 
fallback option as this issue may not be reproducible on it anyway.

From: mono-devel-list-boun...@lists.ximian.com 
[mono-devel-list-boun...@lists.ximian.com] on behalf of Jonathan Mitchell 
[jonat...@mugginsoft.com]
Sent: Tuesday, August 04, 2015 7:34 PM
To: Mono-devel-list@lists.ximian.com
Subject: Re: [Mono-dev] Compiling Mono with debug symbols to diagnose an
issue with embedded Mono 4.0.2.5

 On 4 Aug 2015, at 08:26, jean-michel.perr...@csiro.au wrote:

 * build/install mono from source (I know that) but with debug symbols
I would second this.

 * If the above is done, can I use MonoDevelop or other graphical front-end to 
 attach to the process with embedded Mono and step through code with GDB. I 
 can already attach  MonoDevelop to the R process and catch the crash, but the 
 call stack is devoid of info and reference to the source code (presumably 
 lacking the former debug symbols?)

Are you trying to debug the managed code or the embedded C API?

Jonathan













___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list