簡體   English   中英

Popen 使 Qt 調試器崩潰

[英]Popen crashes Qt debugger

我正在嘗試構建一個應用程序,向我展示有關我機器上不同資源的多個小部件。 在代碼中,我使用 popen() 來運行命令並獲取其輸出,以顯示在我的小部件上。

但是,當我嘗試在調試模式下運行它時,在第一次出現 popen 時,調試器會停止,並且應用程序就像是在沒有調試器的情況下啟動的一樣。 它沒有關閉,並且沒有運行部分代碼,如果沒有調試器,我無法弄清楚為什么。

我正在使用 Qt 版本 5.13.2。 這是使調試器停止的示例。

    char s[500];
    char cmd[20]="ifconfig ";
    strcat(cmd,_currentNIC._nicName.toStdString().c_str());
    strcat(cmd," ");
    FILE* pip=popen(cmd,"r");
    fgets(s,499,pip);

在代碼中,我使用 popen() 來運行命令並獲取其輸出,以顯示在我的小部件上。

由於widget建議您不僅使用 Qt Creator 作為 IDE,而且還使用 Qt 框架,因此我建議您使用QProcess

Qt 是非常酷的多平台框架,所以如果你不必使用系統特定的 API,你應該避免使用它。


第二件事是使用ifconfig 您不必使用命令行工具來獲取此類信息。 Qt 提供了 API 來提供這樣的信息見QNetworkInterface


您還可以向 Qt Creator 項目報告錯誤。

暫無
暫無

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

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