Popen使Qt调试器崩溃



我正在尝试构建一个应用程序,该应用程序向我显示有关计算机上不同资源的多个小部件。在代码中,我使用 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项目报告错误。

最新更新