在函数结束前写入stdout时,Eclipse CDT调试失败
今天在使用Eclipse时,我遇到了一些无法解释的问题 基本上,当我试图调试一个在结束前写入stdout的函数时,Eclipse不会从该函数返回,而是会在那里停止调试。(该函数可以执行其他操作,只要它最后写入标准输出。) 导致意外行为的程序可能是,例如:在函数结束前写入stdout时,Eclipse CDT调试失败,c,linux,eclipse,debugging,stdout,C,Linux,Eclipse,Debugging,Stdout,今天在使用Eclipse时,我遇到了一些无法解释的问题 基本上,当我试图调试一个在结束前写入stdout的函数时,Eclipse不会从该函数返回,而是会在那里停止调试。(该函数可以执行其他操作,只要它最后写入标准输出。) 导致意外行为的程序可能是,例如: #include <stdio.h> void testfunc(void) { puts("I hate you "); } int main(void) { testfunc(); printf(
#include <stdio.h>
void testfunc(void)
{
puts("I hate you ");
}
int main(void)
{
testfunc();
printf("so, so much.");
return 3;
}
获取发送到进程的SIGSEGV信号,同时:
void testfunc(void)
{
int a;
puts("I hate you ");
a=3;
}
工作没有问题
正如我所说,单步执行函数或只是运行程序(而不是调试)都可以很好地工作,就像使用gcc手动编译和在终端上运行程序一样
我正在运行Fedora19,Eclipse的版本是:4.3.1,构建id:5fc19
有什么想法吗
void testfunc(void)
{
int a;
puts("I hate you ");
a=3;
}