This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | Add native LLDB debugging support | ||
---|---|---|---|
Product: | cnd | Reporter: | kazssym <kazssym> |
Component: | Debugger | Assignee: | Maria Tishkova <mromashova> |
Status: | NEW --- | ||
Severity: | normal | CC: | jwatt |
Priority: | P2 | ||
Version: | 8.0.2 | ||
Hardware: | Macintosh | ||
OS: | All | ||
Issue Type: | ENHANCEMENT | Exception Reporter: |
Description
kazssym
2015-03-01 10:53:04 UTC
(In reply to henk89 from comment #1) > https://netbeans.org/bugzilla/show_bug.cgi?id=236801#c12 So I'm requesting *native* support. Could you share, please, your understanding of "native support"? (In reply to Vladimir Voskresensky from comment #3) > Could you share, please, your understanding of "native support"? I would like NetBeans IDE to detect the existence of LLDB and use its commads directly to debug a program without any helper program. It would require a debugger abstraction layer but if it could be done, adding support for other debuggers, if any, should be easier. (In reply to kazssym from comment #4) > (In reply to Vladimir Voskresensky from comment #3) > > Could you share, please, your understanding of "native support"? > > I would like NetBeans IDE to detect the existence of LLDB and use its > commads directly to debug a program without any helper program. It would > require a debugger abstraction layer but if it could be done, adding support > for other debuggers, if any, should be easier. Thanks. This is exactly the way we already communicate with other debuggers (gdb, dbx) from NB. I.e. for gdb it is known as MI (Machine Interface) protocol. The diff between Gdb and LLDB is that in LLDB MI part is extracted out of main binary while in Gdb it is part of gdb itself. Fortunately MI of LLDB and Gdb are very similar. So, the current workaround is to build this MI layer for LLDB and use on Mac, while in NB we added LLDB's MI flavor translator in the context of https://netbeans.org/bugzilla/show_bug.cgi?id=236801#c12. We can think about shipping pre-build MI layer of LLDB for Mac users then no extra efforts would be required. 'lldb-mi' was added to Xcode some time between 6.0.1 (Sept 2014) and 6.4 (Jun 2015) and has since then always been at: /Applications/Xcode.app/Contents/Developer/usr/bin/lldb-mi As noted in https://netbeans.org/bugzilla/show_bug.cgi?id=236801#c12 'debugserver' also comes as standard and since at least since Xcode 5 has been located at: /Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/debugserver So it seems NB could find both of these without requiring building lldb or setting of the LLDB_DEBUGSERVER_PATH environment variable. Could that be fixed in this bug? That just leaves the setting of the -J-Dcnd.debugger.lldb=true parameter. It would be nice to have a dropdown option in the Debugging Options preferences pane to choose between debuggers, but perhaps that should be a separate bug since it involves UI changes. Oh, and it would also be good to document how to use lldb somewhere in the docs at: https://netbeans.org/kb/trails/cnd.html So basically we will use the 11db or setting of the LLDB_DEBUGSERVER_PATH environment variable? Castro B, https://sparpedia.ch |