Установить точку останова по исходному файлу в Delve - PullRequest
0 голосов
/ 24 ноября 2018

Как я могу установить точку останова по исходному файлу?У меня есть следующий код в файле tmp.go.

package main

func main() {
   a, b := 1, 2
   c := a + b
   println(c)

}

Это работает

$ dlv debug ./tmp.go
(dlv) b main.main:1
Breakpoint 1 set at 0x105395d for main.main() ./tmp.go:4

Но это не удается

$ dlv debug ./tmp.go
(dlv) b ./tmp.go:4
Command failed: Location "./tmp.go:4" not found

Редактировать: Это работает

$ dlv debug ./tmp.go
(dlv) b tmp.go:4
Breakpoint 1 set at 0x105395d for main.main() ./tmp.go:4

Есть идеи, что может быть не так с моей средой?

1 Ответ

0 голосов
/ 24 ноября 2018

Есть идеи, что может быть не так с моей средой?


Почему этот вопрос должен быть закрыт?

не по теме, потому что ...

Вопросы, требующие помощи в отладке («почему этот код не работает?»), Должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для его воспроизведения в самом вопросе.Вопросы без четкой постановки проблемы не полезны для других читателей.См .: Как создать минимальный, полный и проверяемый пример.

Вы не указали MCVE, поэтому мы можем только догадываться.

Мыпонятия не имеете, что находится в вашем main.go, так как вы ожидаете, что мы узнаем, в чем ваша проблема?


Например, просто предположение, с MCVE,

main.go:

package main

func main() {
    a, b := 1, 2
    c := a + b
    println(c)
}

Детская площадка: https://play.golang.org/p/i2D9uZnFlXn

Выход:

$ go run main.go
3
$ dlv debug ./main.go
Type 'help' for list of commands.
(dlv) break main.main:4
Breakpoint 1 set at 0x454bda for main.main() ./main.go:7
(dlv) quit
$ dlv debug ./main.go
Type 'help' for list of commands.
(dlv) break main.go:4
Breakpoint 1 set at 0x454b9d for main.main() ./main.go:4
(dlv) quit
$ 

break main.main:4 и break main.go:4 не одно и то же, в ./main.go:7 и ./main.go:4 соответственно.Номера строк относятся к файлам, функциям и т. Д.


...