2

I created a Mac OS X app, and distribute it as a .dmg file.

I must have source code line numbers in stack traces, so I added <DebugType>full</DebugType> and <DebugSymbols>true</DebugSymbols> to my .csproj file (not a problem as I don't fear reverse engineering)

PROBLEM: Whenever a crash happen, apparently users are asked to install "XCode Command Line Developer Tools" to run "lldb" (debugger):

XCode Command Line Developer Tools

My program does not call this "lldb" thing in any way.
How can I prevent this message from getting displayed?
Users are office employees who have no idea what XCode is.

The app is open source C# compiled using Monodevelop.

Having good stack traces with source code line numbers is very important, not something I want to give up.

Community
  • 1
  • 1
Nicolas Raoul
  • 58,567
  • 58
  • 222
  • 373
  • Have you seen this article? I'm not really familiar with the subject but was curious so I searched and reading this seemed promising. http://dylanfoundry.org/2014/06/25/integrating-with-lldb/ – davidcondrey Jul 22 '14 at 05:26
  • @dcc: This article is about debugging with the "Dylan" programming language. It contains nothing about the message I asked about, right? – Nicolas Raoul Jul 22 '14 at 05:38
  • Is possible that one or more binaries or libraries that you're distributing are compiled as debug / develop, rather than release / deployment? – TheDarkKnight Jul 22 '14 at 07:55
  • @Merlin069: Yes, please see my last paragraph. and the reason why. – Nicolas Raoul Jul 22 '14 at 08:18
  • Sorry I missed that, but I expect that this is the problem. I suggest you begin by confirming this by using Release builds. – TheDarkKnight Jul 22 '14 at 08:24

2 Answers2

2

I also was faced with this issue using Xamarin

I asked Xamarin and currently there is no possibility to prevent it happening but they will add enhancement to make it so in the future.

DLilley
  • 71
  • 3
0

You could either embed lldb with your project (as some projects embed git to avoid the same problem), or you could switch to a 3rd party crash reporter such as Crashlytics.


While the above may work in other cases, it seems that the best you can do is submit a bug to Apple.

Rivera
  • 10,792
  • 3
  • 58
  • 102
  • Very interesting, could you please detail how to program my application to use my custom lldb when crashing? Redirecting crashes to a "dummy lldb" would be ideal. For instance a dummy lldb that just writes debugging information to a text file. – Nicolas Raoul Nov 06 '14 at 11:34
  • It all depends on how you call lldb. Maybe you're using the default search paths to get the command? Then you should specifically point the lldb inside your app bundle. – Rivera Nov 07 '14 at 02:42
  • My program does not reference lldb in any way. I had no idea what lldb was, before I first got this popup message. – Nicolas Raoul Nov 07 '14 at 03:21
  • I'm having difficulty understanding why this would be considered an Apple bug. – Brad Allred Nov 10 '14 at 01:50