labath wrote:
Sorry about the delay. I'm not sure I understand the question, but the way I'm
imagining this is to let the server communicate the "is it safe to resume" bit
to the client. After that, the client can do whatever it wants/needs (e.g.
disable jitting/expression evaluation).
I thin
Jlalond wrote:
> What do you say to all this? I realize I am sort of asking you my pet
> feature, but I think that by framing your feature (debugging of dead
> processes) as a special case of this (debugging exiting processes), we can
> avoid most of the problematic issues with this PR (diverg
https://github.com/labath commented:
[I'm sorry, this is going to be long]
Most of David's comments are there because you copied the existing attach
implementation. Even if we go down the path of different attach methods, I
don't think it's necessary to copy all of that. Actual attaching is a
https://github.com/labath edited
https://github.com/llvm/llvm-project/pull/137041
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -312,10 +312,27 @@ NativeProcessLinux::Manager::Attach(
Log *log = GetLog(POSIXLog::Process);
LLDB_LOG(log, "pid = {0:x}", pid);
- auto tids_or = NativeProcessLinux::Attach(pid);
- if (!tids_or)
-return tids_or.takeError();
- ArrayRef<::pid_t> tids = *tids_or;
+
@@ -312,10 +312,27 @@ NativeProcessLinux::Manager::Attach(
Log *log = GetLog(POSIXLog::Process);
LLDB_LOG(log, "pid = {0:x}", pid);
- auto tids_or = NativeProcessLinux::Attach(pid);
- if (!tids_or)
-return tids_or.takeError();
- ArrayRef<::pid_t> tids = *tids_or;
+
@@ -444,6 +461,88 @@ NativeProcessLinux::NativeProcessLinux(::pid_t pid, int
terminal_fd,
SetState(StateType::eStateStopped, false);
}
+llvm::Expected> NativeProcessLinux::Seize(::pid_t pid) {
+ Log *log = GetLog(POSIXLog::Process);
+
+ uint64_t options = GetDefaultPtrace
@@ -444,6 +461,88 @@ NativeProcessLinux::NativeProcessLinux(::pid_t pid, int
terminal_fd,
SetState(StateType::eStateStopped, false);
}
+llvm::Expected> NativeProcessLinux::Seize(::pid_t pid) {
+ Log *log = GetLog(POSIXLog::Process);
+
+ uint64_t options = GetDefaultPtrace
@@ -444,6 +461,88 @@ NativeProcessLinux::NativeProcessLinux(::pid_t pid, int
terminal_fd,
SetState(StateType::eStateStopped, false);
}
+llvm::Expected> NativeProcessLinux::Seize(::pid_t pid) {
+ Log *log = GetLog(POSIXLog::Process);
+
+ uint64_t options = GetDefaultPtrace
@@ -444,6 +461,88 @@ NativeProcessLinux::NativeProcessLinux(::pid_t pid, int
terminal_fd,
SetState(StateType::eStateStopped, false);
}
+llvm::Expected> NativeProcessLinux::Seize(::pid_t pid) {
+ Log *log = GetLog(POSIXLog::Process);
+
+ uint64_t options = GetDefaultPtrace
@@ -444,6 +461,88 @@ NativeProcessLinux::NativeProcessLinux(::pid_t pid, int
terminal_fd,
SetState(StateType::eStateStopped, false);
}
+llvm::Expected> NativeProcessLinux::Seize(::pid_t pid) {
+ Log *log = GetLog(POSIXLog::Process);
+
+ uint64_t options = GetDefaultPtrace
@@ -444,6 +461,88 @@ NativeProcessLinux::NativeProcessLinux(::pid_t pid, int
terminal_fd,
SetState(StateType::eStateStopped, false);
}
+llvm::Expected> NativeProcessLinux::Seize(::pid_t pid) {
+ Log *log = GetLog(POSIXLog::Process);
+
+ uint64_t options = GetDefaultPtrace
@@ -444,6 +461,88 @@ NativeProcessLinux::NativeProcessLinux(::pid_t pid, int
terminal_fd,
SetState(StateType::eStateStopped, false);
}
+llvm::Expected> NativeProcessLinux::Seize(::pid_t pid) {
+ Log *log = GetLog(POSIXLog::Process);
+
+ uint64_t options = GetDefaultPtrace
https://github.com/DavidSpickett commented:
I leave the discussion of race conditions or lack of to @labath .
https://github.com/llvm/llvm-project/pull/137041
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mail
https://github.com/DavidSpickett edited
https://github.com/llvm/llvm-project/pull/137041
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
DavidSpickett wrote:
> I added my gist to the description, let me know what you think
This part looks good, that'll be enough to test this / explain why it exists.
https://github.com/llvm/llvm-project/pull/137041
___
lldb-commits mailing list
lldb-com
https://github.com/DavidSpickett edited
https://github.com/llvm/llvm-project/pull/137041
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
17 matches
Mail list logo