mirror of
https://github.com/go-delve/delve.git
synced 2025-10-30 02:07:58 +08:00
proc: implement stacktrace of arm64 (#1780)
* proc: separate amd64-arch code separate amd64 code about stacktrace, so we can add arm64 stacktrace code. * proc: implemente stacktrace of arm64 * delve now can use stack, frame commands on arm64-arch debug. Co-authored-by: tykcd996 <tang.yuke@zte.com.cn> Co-authored-by: hengwu0 <wu.heng@zte.com.cn> * test: remove skip-code of stacktrace on arm64 * add LR DWARF register and remove skip-code for fixed tests * proc: fix the Continue command after the hardcoded breakpoint on arm64 Arm64 use hardware breakpoint, and it will not set PC to the next instruction like amd64. We should move PC in both runtime.breakpoints and hardcoded breakpoints(probably cgo). * proc: implement cgo stacktrace on arm64 * proc: combine amd64_stack.go and arm64_stack.go file * proc: reorganize the stacktrace code * move SwitchStack function arch-related * fix Continue command after manual stop on arm64 * add timeout flag to make.go to enable infinite timeouts Co-authored-by: aarzilli <alessandro.arzilli@gmail.com> Co-authored-by: hengwu0 <wu.heng@zte.com.cn> Co-authored-by: tykcd996 <56993522+tykcd996@users.noreply.github.com> Co-authored-by: Alessandro Arzilli <alessandro.arzilli@gmail.com>
This commit is contained in:
@ -16,6 +16,7 @@ import (
|
||||
const DelveMainPackagePath = "github.com/go-delve/delve/cmd/dlv"
|
||||
|
||||
var Verbose bool
|
||||
var NOTimeout bool
|
||||
var TestSet, TestRegex, TestBackend, TestBuildMode string
|
||||
|
||||
func NewMakeCommands() *cobra.Command {
|
||||
@ -80,6 +81,7 @@ Use the flags -s, -r and -b to specify which tests to run. Specifying nothing is
|
||||
Run: testCmd,
|
||||
}
|
||||
test.PersistentFlags().BoolVarP(&Verbose, "verbose", "v", false, "Verbose tests")
|
||||
test.PersistentFlags().BoolVarP(&NOTimeout, "timeout", "t", false, "Set infinite timeouts")
|
||||
test.PersistentFlags().StringVarP(&TestSet, "test-set", "s", "", `Select the set of tests to run, one of either:
|
||||
all tests all packages
|
||||
basic tests proc, integration and terminal
|
||||
@ -259,6 +261,10 @@ func testFlags() []string {
|
||||
if Verbose {
|
||||
testFlags = append(testFlags, "-v")
|
||||
}
|
||||
if NOTimeout {
|
||||
testFlags = append(testFlags, "-timeout")
|
||||
testFlags = append(testFlags, "0")
|
||||
}
|
||||
if runtime.GOOS == "darwin" {
|
||||
testFlags = append(testFlags, "-exec="+wd+"/scripts/testsign")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user