Отладка программ Go в GoClipse с помощью ассемблерного кода
При попытке отладки программы Go в GoClipse пользователи могут столкнуться с проблемой, из-за которой отладчик проходит через ассемблерный код вместо кода Go. Это происходит несмотря на правильную установку GDB для отладки.
Когда установлена точка останова и программа запускается через отладчик Eclipse, она вводит файлы ассемблерного кода, такие как «rt0_darwin_amd64.s», и фокусируется на строках, таких как «MOVQ $_rt0_go». (СБ), АКС." Такое поведение может затруднить отладку.
Чтобы решить эту проблему, проверяйте содержимое представления «Отладка» при остановке программы Go. Если он отображает трассировку стека, начинающуюся с «main() at rt0_darwin_amd64.s», это указывает на то, что отладчик приостановил внутреннюю «основную» функцию времени выполнения, написанную на C.
Это поведение контролируется первым в параметрах конфигурации запуска. Чтобы решить эту проблему, установите параметр «main.main», чтобы остановиться на фактической основной функции Go, или просто снимите флажок с этой опции.
Альтернативно, если отладчик останавливается на внутренней «основной» функции среды выполнения, вы можете нажмите «Выполнить/Возобновить» (F8), чтобы продолжить выполнение. Это позволит вам пройти через код Go и выполнить отладку, как и ожидалось.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3