C错误的确切行号?

时间:2012-01-16 18:21:11

标签: c

我有一个游戏'Rogue'的编译版本,以及它的源代码。有时,在看似随机的时间,游戏会提出一个非描述性的错误信息。

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

1 个答案:

答案 0 :(得分:2)

如果您可以将错误消息编辑为:

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

你可以得到确切的位置。

由于编辑所有邮件会很麻烦,我建议您定义一个宏来执行此操作:

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

替换所有错误消息调用以调用此宏(这比附加到每条消息容易得多)。