2012-01-16 14 views
1

我有一个游戏'流氓'的编译版本,以及它的源代码。有时候,在看似随机的时候,游戏会出现一个非描述性的错误信息。C错误的准确行数?

有没有办法在IDE中编译源代码,并在IDE中运行程序时遇到特定的行号?

+0

由于您有源代码,如果它是用“源数据库”构建的,那么将会有方法来调试错误的来源。我们需要了解更多信息,例如你在哪个平台上运行,编译器正在构建什么以及你想要什么工具。 – CashCow 2012-01-16 18:24:39

回答

2

如果你可以编辑的错误消息:

printf (stderr, "Blah error at %s (%d)\n", __FILE__, __LINE__); 

你可以得到的确切位置。

由于编辑的所有消息将是一个很大的痛苦,我建议你定义一个宏,做它:

#define MYERR(...) do { \ 
    printf ("@ %s (%d): ", __FILE__, __LINE__); \ 
    printf (__VA_ARGS__); \ 
} while (0) 

更换所有的错误信息调用来调用这个宏(那不是追加到要容易得多每条消息)。

+0

请注意,行号可以使用#line预处理器指令重新定义,因此“确切位置”并不总是正确的。 – 2012-01-16 23:21:48