diff options
author | Jim Ingham <jingham@apple.com> | 2010-08-31 18:05:13 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2010-08-31 18:05:13 +0000 |
commit | b4dcbaeec2baa4b428efca36c1fc9975d0cda5bc (patch) | |
tree | 43b1dfe346b9444f11f1552297de75754ab8cd66 /lldb/source | |
parent | fbcd165b591c2bafdf255790a2eef85e9014ba10 (diff) | |
download | bcm5719-llvm-b4dcbaeec2baa4b428efca36c1fc9975d0cda5bc.tar.gz bcm5719-llvm-b4dcbaeec2baa4b428efca36c1fc9975d0cda5bc.zip |
Add a "lldb host" logging channel, and put logging in the Host::OpenInExternalEditor code.
llvm-svn: 112614
Diffstat (limited to 'lldb/source')
-rw-r--r-- | lldb/source/Host/macosx/Host.mm | 36 | ||||
-rw-r--r-- | lldb/source/lldb-log.cpp | 1 |
2 files changed, 36 insertions, 1 deletions
diff --git a/lldb/source/Host/macosx/Host.mm b/lldb/source/Host/macosx/Host.mm index f32f92992e9..70f2886e093 100644 --- a/lldb/source/Host/macosx/Host.mm +++ b/lldb/source/Host/macosx/Host.mm @@ -795,6 +795,7 @@ Host::OpenFileInExternalEditor (FileSpec &file_spec, uint32_t line_no) uint32_t reserved2; // must be zero } BabelAESelInfo; + Log *log = lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_HOST); char file_path[PATH_MAX]; file_spec.GetPath(file_path, PATH_MAX); CFCString file_cfstr (file_path, kCFStringEncodingUTF8); @@ -802,6 +803,9 @@ Host::OpenFileInExternalEditor (FileSpec &file_spec, uint32_t line_no) file_cfstr.get(), kCFURLPOSIXPathStyle, false)); + + if (log) + log->Printf("Sending source file: \"%s\" and line: %d to external editor.\n", file_path, line_no); OSStatus error; BabelAESelInfo file_and_line_info = @@ -823,6 +827,8 @@ Host::OpenFileInExternalEditor (FileSpec &file_spec, uint32_t line_no) if (error != noErr) { + if (log) + log->Printf("Error creating AEDesc: %d.\n", error); return false; } @@ -841,6 +847,9 @@ Host::OpenFileInExternalEditor (FileSpec &file_spec, uint32_t line_no) if (external_editor != NULL) { bool calculate_fsref = true; + if (log) + log->Printf("Looking for external editor \"%s\".\n", external_editor); + if (app_name.empty() || strcmp (app_name.c_str(), external_editor) != 0) { calculate_fsref = true; @@ -857,7 +866,11 @@ Host::OpenFileInExternalEditor (FileSpec &file_spec, uint32_t line_no) if (error == noErr) app_name.assign (external_editor); else + { + if (log) + log->Printf("Could not find External Editor application, error: %d.\n", error); return false; + } } @@ -879,6 +892,9 @@ Host::OpenFileInExternalEditor (FileSpec &file_spec, uint32_t line_no) if (error != noErr) { + if (log) + log->Printf("LSOpenURLsWithRole failed, error: %d.\n", error); + return false; } @@ -888,7 +904,15 @@ Host::OpenFileInExternalEditor (FileSpec &file_spec, uint32_t line_no) which_process.processName = ap_name; error = ::GetProcessInformation (&psn, &which_process); - bool using_xcode = strncmp((char *) ap_name+1, "Xcode", 5) == 0; + bool using_xcode; + if (error != noErr) + { + if (log) + log->Printf("GetProcessInformation failed, error: %d.\n", error); + using_xcode = false; + } + else + using_xcode = strncmp((char *) ap_name+1, "Xcode", (int) ap_name[0]) == 0; // Xcode doesn't obey the line number in the Open Apple Event. So I have to send // it an AppleScript to focus on the right line. @@ -916,6 +940,8 @@ Host::OpenFileInExternalEditor (FileSpec &file_spec, uint32_t line_no) if (osa_component == NULL) { + if (log) + log->Printf("Could not get default AppleScript component.\n"); return false; } @@ -937,7 +963,11 @@ Host::OpenFileInExternalEditor (FileSpec &file_spec, uint32_t line_no) ::free (as_str); if (error != noErr) + { + if (log) + log->Printf("Failed to create AEDesc for Xcode AppleEvent: %d.\n", error); return false; + } OSAID ret_OSAID; error = ::OSACompileExecute (osa_component, @@ -951,7 +981,11 @@ Host::OpenFileInExternalEditor (FileSpec &file_spec, uint32_t line_no) ::AEDisposeDesc (&as_desc); if (error != noErr) + { + if (log) + log->Printf("Sending AppleEvent to Xcode failed, error: %d.\n", error); return false; + } } return true; diff --git a/lldb/source/lldb-log.cpp b/lldb/source/lldb-log.cpp index 57a207220e9..4e291fab4ab 100644 --- a/lldb/source/lldb-log.cpp +++ b/lldb/source/lldb-log.cpp @@ -151,6 +151,7 @@ lldb_private::EnableLog (StreamSP &log_stream_sp, uint32_t log_options, Args &ar else if (strcasestr(arg, "temp") == arg) flag_bits |= LIBLLDB_LOG_TEMPORARY; else if (strcasestr(arg, "comm") == arg) flag_bits |= LIBLLDB_LOG_COMMUNICATION; else if (strcasestr(arg, "conn") == arg) flag_bits |= LIBLLDB_LOG_CONNECTION; + else if (strcasestr(arg, "host") == arg) flag_bits |= LIBLLDB_LOG_HOST; else { feedback_strm->Printf("error: unrecognized log category '%s'\n", arg); |