[lldb-dev] Better error message for attaching to a process already being debugged

Jeffrey Tan via lldb-dev lldb-dev at lists.llvm.org
Wed Mar 9 15:04:26 PST 2016


Hi,

My colleague is trying to use our lldb IDE attaching to app run/build from
Xcode which failed. I can reproduce this with lldb console:

jeffreytan-mbp:$ ps aux | grep iOSApp
jeffreytan      61816   0.0  0.0  2432772    676 s002  S+    3:00PM
0:00.00 grep iOSApp
jeffreytan      61806   0.0  0.2  2721120  38600   ??  SXs   3:00PM
0:00.24
/Users/jeffreytan/Library/Developer/CoreSimulator/Devices/EF17E202-3981-4DB0-87C9-2A9345C1E713/data/Containers/Bundle/Application/CAEBA7D7-D284-4489-8A53-A88E56F9BB04/iOSAppTest.app/iOSAppTest
jeffreytan-mbp:$ lldb -p 61806
(lldb) process attach --pid 61806
*error: attach failed: attach failed: unable to attach*

My theory is:
1. Xcode does not have the concept of run without debugger and run under
debugger, so it always run app with debugger enabled.(Is this true?)
2. And you can't have two native debuggers debugging the same process on
Mac(this is true on Windows, is it true for Mac or Linux?)

If both are true, can we report meaningful message like "inferior is
already being debugged" or something similar instead of the generic error
message like "*attach failed: unable to attach*"?

Btw: I found I can still use gdb to attach to the process(with a permission
elevation dialog pop-up) and see the callstack. How does gdb do that?

Jeffrey
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20160309/04552173/attachment.html>


More information about the lldb-dev mailing list