From 9d90186d8c63e919dbd46fc6876ff0bf12d5981e Mon Sep 17 00:00:00 2001 From: Oleksiy Vyalov Date: Tue, 12 Jul 2016 18:14:27 +0000 Subject: Add logging to Linux Host::GetProcessAndStatInfo. llvm-svn: 275198 --- lldb/source/Host/linux/Host.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'lldb/source/Host/linux/Host.cpp') diff --git a/lldb/source/Host/linux/Host.cpp b/lldb/source/Host/linux/Host.cpp index cb7369fe7ae..62bf5362de0 100644 --- a/lldb/source/Host/linux/Host.cpp +++ b/lldb/source/Host/linux/Host.cpp @@ -8,12 +8,14 @@ //===----------------------------------------------------------------------===// // C Includes -#include -#include -#include -#include #include +#include #include +#include +#include +#include +#include +#include // C++ Includes // Other libraries and framework includes @@ -291,15 +293,25 @@ GetProcessAndStatInfo (lldb::pid_t pid, ProcessInstanceInfo &process_info, Proce ::memset (&stat_info, 0, sizeof(stat_info)); stat_info.ppid = LLDB_INVALID_PROCESS_ID; + Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_PROCESS)); + // Use special code here because proc/[pid]/exe is a symbolic link. char link_path[PATH_MAX]; char exe_path[PATH_MAX] = ""; if (snprintf (link_path, PATH_MAX, "/proc/%" PRIu64 "/exe", pid) <= 0) + { + if (log) + log->Printf("%s: failed to sprintf pid %" PRIu64, __FUNCTION__, pid); return false; + } ssize_t len = readlink (link_path, exe_path, sizeof(exe_path) - 1); if (len <= 0) + { + if (log) + log->Printf("%s: failed to read link %s: %s", __FUNCTION__, link_path, strerror(errno)); return false; + } // readlink does not append a null byte. exe_path[len] = 0; -- cgit v1.2.3