gpt4 book ai didi

c++ - 使用来自控制台的输入进行 Eclipse 调试

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:30:12 24 4
gpt4 key购买 nike

我正在尝试使用 Eclipse 调试我用 C++ 编写的程序。该程序包括从用户那里获取输入,但是当我将输入输入到控制台时,它永远不会继续运行代码(它会一直要求输入)。如果不解决这个问题我就无法调试,希望能得到一些帮助。谢谢。

代码卡在 while 循环 fgets 上:

int main(int argc, const char**argv) {
FILE* inputFile = NULL;

setlocale(LC_ALL, "");
if(argc == 2){
inputFile = fopen(argv[1], "r");
if (inputFile == NULL){
printf("Problem opening file %s, make sure correct path name is given.\n", argv[1]);
return 0;
}
}
else {
inputFile = stdin;
}

char buffer[MAX_STRING_INPUT_SIZE];
// Reading commands
while ( fgets(buffer, MAX_STRING_INPUT_SIZE, inputFile) != NULL ) {
fflush(stdout);
if ( parser(buffer) == error ){
printf("ERROR\n");
break;
}
};
fclose(inputFile);
return 0;
}

最佳答案

问题来自 Eclipse 缓冲控制台输入。修复它的一种方法是强制 Eclipse 使用 Windows/DOS native 控制台进行调试。

过程有详细描述here ,但简而言之:

  1. 从 Eclipse 菜单文件 > 新建 > C++ 项目创建你的 Hello World C++ 命令行项目
  2. 在您的项目文件夹中,创建一个“.gdbinit”文本文件。它将包含您的 gdb 调试器配置
  3. 编辑“.gdbinit”,并添加以下行(不带引号):“set new-console on”
  4. 在 Eclipse 中,转到菜单“运行”>“调试配置”,然后在左侧 Pane 中选择您的应用程序名称
  5. 在“调试器”选项卡中,确保“GDB 命令文件”现在指向您的 « .gdbinit » 文件。否则,输入“.gdbinit”配置文件的路径
  6. 点击“应用”和“调试”。你完成了 !应启动 native DOS 命令行。

关于c++ - 使用来自控制台的输入进行 Eclipse 调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14324487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com