簡體   English   中英

為什么 Netbeans 不在我的斷點處停止?

[英]Why doesn't Netbeans stop at my breakpoints?

我使用現有源和 Makefile 在 Netbeans 8.0.1 上創建了一個Makefile項目。

我運行了運行Makefile的構建,並構建了名為a.out的可執行文件。

問題是,當我在 IDE 中設置斷點時,它不會在那里暫停。

問題是什么?

該站點上的其他問題均未解決該問題。

Makefile:

CC=g++

build: foo.cpp foo.h main.cpp
    $(CC) foo.cpp foo.h main.cpp

我有時也遇到這個問題。 有幾種可能的解決方案:

  1. 確保正在構建Debug構建,並且-g在構建時是編譯器命令的一部分(默認情況下應為-g ,但必須仔細檢查,尤其是因為您似乎正在使用自己的Makefile)。
  2. 重新啟動NetBeans並執行Clean Build。 也許這會有所幫助。
  3. 直接使用gdb ,而不是通過NetBeans GUI使用。 以我的經驗, gdb總是可以工作,但是NetBeans調試不可靠,有時由於我不知道的原因而出現問題。 由於這個原因,我主要使用良好的舊命令行調試器。

-g選項是第一件事-確保在編譯行中。 如果仍然不起作用,則直接運行gdb以查看它是否起作用。 如果有問題,gdb會吐出一個錯誤或警告,當通過netbeans運行它時可能會掩蓋它。 例如:

gdb <progname>

並設置一個斷點,例如

(gdb) break main

然后運行它:

(gdb) run

如果它在第一個語句上沒有問題,但在netbeans中沒有問題,則其他問題是錯誤的。 但是如果它運行到最后並發出警告,例如此。 缺少包裹:

Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.149.el6.x86_64

然后按照它告訴你的去做。 一旦gdb感到滿意,netbeans也應該如此。

對於我來說,NetBeans 沒有檢測到它是項目屬性中的錯誤屬性值。 我將我的項目構建設置為“調試”,但在“構建”>“C++ 編譯器”>“開發模式”中,該值設置為“發布”。 那是我編輯屬性的錯。 通過將其改回“調試”,問題就解決了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM