LLDB mainline
Support.cpp
Go to the documentation of this file.
1//===-- Support.cpp -------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
11#include "lldb/Utility/Log.h"
12#include "llvm/Support/MemoryBuffer.h"
13
14llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
15lldb_private::getProcFile(::pid_t pid, ::pid_t tid, const llvm::Twine &file) {
16 Log *log = GetLog(LLDBLog::Host);
17 std::string File =
18 ("/proc/" + llvm::Twine(pid) + "/task/" + llvm::Twine(tid) + "/" + file)
19 .str();
20 auto Ret = llvm::MemoryBuffer::getFileAsStream(File);
21 if (!Ret)
22 LLDB_LOG(log, "Failed to open {0}: {1}", File, Ret.getError().message());
23 return Ret;
24}
25
26llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
27lldb_private::getProcFile(::pid_t pid, const llvm::Twine &file) {
28 Log *log = GetLog(LLDBLog::Host);
29 std::string File = ("/proc/" + llvm::Twine(pid) + "/" + file).str();
30 auto Ret = llvm::MemoryBuffer::getFileAsStream(File);
31 if (!Ret)
32 LLDB_LOG(log, "Failed to open {0}: {1}", File, Ret.getError().message());
33 return Ret;
34}
35
36llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
37lldb_private::getProcFile(const llvm::Twine &file) {
38 Log *log = GetLog(LLDBLog::Host);
39 std::string File = ("/proc/" + file).str();
40 auto Ret = llvm::MemoryBuffer::getFileAsStream(File);
41 if (!Ret)
42 LLDB_LOG(log, "Failed to open {0}: {1}", File, Ret.getError().message());
43 return Ret;
44}
#define LLDB_LOG(log,...)
The LLDB_LOG* macros defined below are the way to emit log messages.
Definition: Log.h:342
An abstract base class for files.
Definition: File.h:36
Log * GetLog(Cat mask)
Retrieve the Log object for the channel associated with the given log enum.
Definition: Log.h:314
llvm::ErrorOr< std::unique_ptr< llvm::MemoryBuffer > > getProcFile(::pid_t pid, ::pid_t tid, const llvm::Twine &file)
Definition: Support.cpp:15