diff options
author | Jim Ingham <jingham@apple.com> | 2012-07-20 21:37:13 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2012-07-20 21:37:13 +0000 |
commit | cd16df9154d46bb4ff49ed8843df714a7376d072 (patch) | |
tree | ee33109563981740402ee3d93477eca660d07876 /lldb/source/Commands/CommandObjectProcess.cpp | |
parent | 5e4fe00e644177dd5b6c8bd330be6dfe0f25610b (diff) | |
download | llvm-cd16df9154d46bb4ff49ed8843df714a7376d072.zip llvm-cd16df9154d46bb4ff49ed8843df714a7376d072.tar.gz llvm-cd16df9154d46bb4ff49ed8843df714a7376d072.tar.bz2 |
Add "vAttachOrWait" to debugserver, so you can implement "attach to the process if it exists OR wait for it" without race conditions. Use that in lldb.
llvm-svn: 160578
Diffstat (limited to 'lldb/source/Commands/CommandObjectProcess.cpp')
-rw-r--r-- | lldb/source/Commands/CommandObjectProcess.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/lldb/source/Commands/CommandObjectProcess.cpp b/lldb/source/Commands/CommandObjectProcess.cpp index 54f2a54..f45e926 100644 --- a/lldb/source/Commands/CommandObjectProcess.cpp +++ b/lldb/source/Commands/CommandObjectProcess.cpp @@ -350,6 +350,10 @@ public: case 'w': attach_info.SetWaitForLaunch(true); break; + + case 'i': + attach_info.SetIgnoreExisting(false); + break; default: error.SetErrorStringWithFormat("invalid short option character '%c'", short_option); @@ -618,11 +622,12 @@ protected: OptionDefinition CommandObjectProcessAttach::CommandOptions::g_option_table[] = { -{ LLDB_OPT_SET_ALL, false, "continue",'c', no_argument, NULL, 0, eArgTypeNone, "Immediately continue the process once attached."}, -{ LLDB_OPT_SET_ALL, false, "plugin", 'P', required_argument, NULL, 0, eArgTypePlugin, "Name of the process plugin you want to use."}, -{ LLDB_OPT_SET_1, false, "pid", 'p', required_argument, NULL, 0, eArgTypePid, "The process ID of an existing process to attach to."}, -{ LLDB_OPT_SET_2, false, "name", 'n', required_argument, NULL, 0, eArgTypeProcessName, "The name of the process to attach to."}, -{ LLDB_OPT_SET_2, false, "waitfor", 'w', no_argument, NULL, 0, eArgTypeNone, "Wait for the process with <process-name> to launch."}, +{ LLDB_OPT_SET_ALL, false, "continue",'c', no_argument, NULL, 0, eArgTypeNone, "Immediately continue the process once attached."}, +{ LLDB_OPT_SET_ALL, false, "plugin", 'P', required_argument, NULL, 0, eArgTypePlugin, "Name of the process plugin you want to use."}, +{ LLDB_OPT_SET_1, false, "pid", 'p', required_argument, NULL, 0, eArgTypePid, "The process ID of an existing process to attach to."}, +{ LLDB_OPT_SET_2, false, "name", 'n', required_argument, NULL, 0, eArgTypeProcessName, "The name of the process to attach to."}, +{ LLDB_OPT_SET_2, false, "include-existing", 'i', no_argument, NULL, 0, eArgTypeNone, "Include existing processes when doing attach -w."}, +{ LLDB_OPT_SET_2, false, "waitfor", 'w', no_argument, NULL, 0, eArgTypeNone, "Wait for the process with <process-name> to launch."}, { 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL } }; |