- 15 12月, 2020 2 次提交
-
-
由 hitzhangjie 提交于
-
由 Andrei Matei 提交于
The comment on the advanceRegs() method was referencing several nonexistent fields. This patch fixes that, and improves the comment to reference the peculiar interaction between the method and it.regs.
-
- 11 12月, 2020 3 次提交
-
-
由 Alessandro Arzilli 提交于
Fixes #852 Co-authored-by: Na <a@kra>
-
由 Alessandro Arzilli 提交于
evalFunctionCall needs to remove the breakpoint from the current thread after starting the function call injection, otherwise Continue will think that the thread is stopped at a breakpoint and return to the user instead of continuing the call injection.
-
由 Alessandro Arzilli 提交于
Adds a flag that distinguishes the return values of an injected function call from the return values of a function call executed by the target program.
-
- 09 12月, 2020 2 次提交
-
-
由 aarzilli 提交于
Thank you to: @polinasok, @aurkenb, @pohzipohzi, @chainhelen, @hitzhangjie, @eliben, @suzmue, @andreimatei, @aaronsky.
-
由 Andrei Matei 提交于
Fix some stale comments and add some comments that I would have found useful.
-
- 05 12月, 2020 1 次提交
-
-
由 Alessandro Arzilli 提交于
This is needed to fix the problem we have with 1.15.4+ after the backport is applied to it. The DWARF standard isn't clear on what should happen with the end_of_sequence opcode but this is consistent with debug/dwarf.LineReader as well as gdb.
-
- 18 11月, 2020 1 次提交
-
-
由 Aaron Sky 提交于
* Use the active xcode-select path instead of a hardcoded Xcode path * Refactored exec.Command to invoke Output instead of running with a custom buffer for stdout Addresses review comment by @derekparker
-
- 17 11月, 2020 4 次提交
-
-
由 aarzilli 提交于
Change FindLocation to apply substitute path rules to location expressions. Changes terminal to always print paths after applying substitutions. Implements #2203
-
由 aarzilli 提交于
1. Forward stdin/stdout/stderr to the target process when in foreground mode instead of always forwarding the current tty (issue #1964) 2. When redirecting a file descriptor make sure to also specify something for all three otherwise debugserver will misbehave (either exit on launch or run but giving the target process a closed file descriptor). Fixes #1964
-
由 Alessandro Arzilli 提交于
-
由 Andrei Matei 提交于
This patch adds some comments around RequestManualStop().
-
- 13 11月, 2020 1 次提交
-
-
由 polinasok 提交于
* Support evaluate request * Fix failing tests * Call support * Remove debugger.CurrentThread() that got accidentally reintroduced during merge * Address review comments * Function to stringify stop reason * Add resetHandlesForStop * Handle stop inside call * More tests * Address review comments * Check all threads to determine if call completed * Fix test * Fix test * Fix test * Address review comments Co-authored-by: NPolina Sokolova <polinasok@users.noreply.github.com>
-
- 10 11月, 2020 1 次提交
-
-
由 Alessandro Arzilli 提交于
On linux we can not read memory if the thread we use to do it is occupied doing certain system calls. The exact conditions when this happens have never been clear. This problem was worked around by using the Blocked method which recognized the most common circumstances where this would happen. However this is a hack: Blocked returning true doesn't mean that the problem will manifest and Blocked returning false doesn't necessarily mean the problem will not manifest. A side effect of this is issue #2151 where sometimes we can't read the memory of a thread and find its associated goroutine. This commit fixes this problem by always reading memory using a thread we know to be good for this, specifically the one returned by ContinueOnce. In particular the changes are as follows: 1. Remove (ProcessInternal).CurrentThread and (ProcessInternal).SetCurrentThread, the "current thread" becomes a field of Target, CurrentThread becomes a (*Target) method and (*Target).SwitchThread basically just sets a field Target. 2. The backends keep track of their own internal idea of what the current thread is, to use it to read memory, this is the thread they return from ContinueOnce as trapthread 3. The current thread in the backend and the current thread in Target only ever get synchronized in two places: when the backend creates a Target object the currentThread field of Target is initialized with the backend's current thread and when (*Target).Restart gets called (when a recording is rewound the currentThread used by Target might not exist anymore). 4. We remove the MemoryReadWriter interface embedded in Thread and instead add a Memory method to Process that returns a MemoryReadWriter. The backends will return something here that will read memory using the current thread saved by the backend. 5. The Thread.Blocked method is removed One possible problem with this change is processes that have threads with different memory maps. As far as I can determine this could happen on old versions of linux but this option was removed in linux 2.5. Fixes #2151
-
- 04 11月, 2020 1 次提交
-
-
由 Alessandro Arzilli 提交于
TestStepConcurrentDirect will occasionally fail (7% of the time on my setup) by either causing the target processs to execute an invalid instruction or (more infrequently) by switching to the wrong thread. Both of those are caused by receiving SIGTRAPs for threads hitting a breakpoint after it has been removed (the thread hits the breakpoint, we stop everything and remove the breakpoint and only after we receive the signal). Change native.(*nativeProcess).stop to handle SIGTRAPs that can't be attributed to a breakpoint, a hardcoded breakpoint in the program's text, or manual stops (and therefore are likely caused by phantom breakpoint hits). Co-authored-by: Na <a@kra>
-
- 03 11月, 2020 2 次提交
-
-
由 Alessandro Arzilli 提交于
Fixes #2219
-
由 Polina Sokolova 提交于
-
- 22 10月, 2020 3 次提交
-
-
由 Alessandro Arzilli 提交于
-
由 Alessandro Arzilli 提交于
* service/rpccommon: log error for conns rejected by --only-same-user If no logger is enabled manually write to stderr instead. Fixes #2209 * logflags: fix style complaints from DeepSource
-
由 Alessandro Arzilli 提交于
Fixes #1847
-
- 20 10月, 2020 1 次提交
-
-
由 chainhelen 提交于
-
- 13 10月, 2020 3 次提交
-
-
由 Alessandro Arzilli 提交于
It returns an unexported type and is only used in a single place.
-
由 Alessandro Arzilli 提交于
Due to a missing check TestCgoStacktrace2 didn't actually check anything. Enable it and then skip it on linux/386 and linux/arm64 where it's broken. Co-authored-by: Na <a@kra>
-
由 Alessandro Arzilli 提交于
If the process receives a signal (or sends a singal to itself) and then dies before we can route the signal back to it we still need to retrieve its exit status. Fixes a rare failure of TestIssue1101 in proc_test.go Co-authored-by: Na <a@kra>
-
- 24 9月, 2020 3 次提交
-
-
由 Alessandro Arzilli 提交于
* proc/tests: keep track of tests skipped due to backend problems Mark tests skipped due to backend problems and add a script to keep track of them. * Travis-CI: add ignorechecksum option to chocolatey command Looks like a configuration problem on chocolatey's end.
-
由 Alessandro Arzilli 提交于
* proc: use argument position for addr only when injecting function calls We can not, in general, use the argument position to determine the address of a formal parameter, it will not work in presence of optimizations or inlining. In those cases formal arguments could be stored in registers. Fixes #2176 * Travis-CI: add ignorechecksum option to chocolatey command Looks like a configuration problem on chocolatey's end. Co-authored-by: Na <a@kra>
-
由 Alessandro Arzilli 提交于
* dwarf/line: ignore end_of_sequence entry if AllPCsBetween Go 1.15 (but possibly prior versions of Go too) has a tendency to use an address in the middle of an instruction for this entry, but if it was correct it would be after the last instruction of the function anyway. This problem manifests especially frequently as a target crash in TestStepConcurrentPtr on linux/arm64 (~6% of the runs). * Travis-CI: add ignorechecksum option to chocolatey command Looks like a configuration problem on chocolatey's end. Co-authored-by: Na <a@kra>
-
- 16 9月, 2020 2 次提交
-
-
由 Alessandro Arzilli 提交于
* Revert "proc: Find executable should follow symbol links." This reverts commit 3e04ad0f. * proc: resolve symlinks when searching for split debug_info if path is /proc/pid/exe Fixes #2168
-
由 Alessandro Arzilli 提交于
During the testing of the core dump generation feature two bugs were discovered in gdbserial: 1. we don't check that both bytes of the checksum are read, if the buffer only has one byte we can end up reading only one byte instead of two and the second byte will mess up the parsing of the next packet 2. binary encoded packets can start with an 'E' and not be errors, when using binary responses add an extra check for the lenght of the response before deciding that the response is an error. Unfortunately this encoding is inherently ambiguous (we can't distinguish a 3 byte response starting with 'E' from an error) so binary requests that lead to short responses should be avoided. Testing this is complicated, they will be tested implicitly by the upcoming core dump test. Co-authored-by: Na <a@kra>
-
- 11 9月, 2020 1 次提交
-
-
由 hitzhangjie 提交于
Adds a -size argument to examinemem that specifies how to group bytes on output.
-
- 10 9月, 2020 1 次提交
-
-
由 Alessandro Arzilli 提交于
Since proc is supposed to work independently from the target architecture it shouldn't use architecture-dependent types, like uintptr. For example when reading a 64bit core file on a 32bit architecture, uintptr will be 32bit but the addresses proc needs to represent will be 64bit.
-
- 09 9月, 2020 1 次提交
-
-
由 chainhelen 提交于
`sameFrameCond` should not be constructed as one `And Express` when `sameGCond` which is the first child of `BinaryExpr` is nil. Fixes: #2162
-
- 02 9月, 2020 1 次提交
-
-
由 aarzilli 提交于
Adds features to support default file descriptor redirects for the target process: 1. A new command line flag '--redirect' and '-r' are added to specify file redirects for the target process 2. New syntax is added to the 'restart' command to specify file redirects. 3. Interactive instances will check if stdin/stdout and stderr are terminals and print a helpful error message if they aren't.
-
- 01 9月, 2020 3 次提交
-
-
由 aarzilli 提交于
An internal breakpoint condition shouldn't ever error: * use a ThreadContext to evaluate conditions if a goroutine isn't available * evaluate runtime.curg to a fake g variable containing only `goid == 0` when there is no current goroutine Fixes #2113
-
由 Alessandro Arzilli 提交于
Recent changes to the way registers are handled broke reporting of AVX registers (i.e. YMMx). This change restores the functionality by: - concatenating the higher half of the YMMx registers to their corresponding XMMx lower half (YMMx registers do not have an independent DWARF register number) - modifying the formatSSEReg function to handle them when they are present. Fixes #2033
-
由 Alessandro Arzilli 提交于
Fixes #2138
-
- 28 8月, 2020 1 次提交
-
-
由 Alessandro Arzilli 提交于
(*gdbThread).StepInstruction is a single call to stepInstruction so inline it.
-
- 25 8月, 2020 2 次提交
-
-
由 Alessandro Arzilli 提交于
If OnlyAddr is not set pretty printing an interface will fail with an index out of bounds error.
-
由 Alessandro Arzilli 提交于
* vendor: update starlark * terminal: use new mechanism to cancel starlark threads See: https://github.com/google/starlark-go/pull/298
-