【问题标题】:Why eclipse is not debugging when using external library in C?为什么在 C 中使用外部库时 Eclipse 不调试?
【发布时间】:2019-08-30 13:32:29
【问题描述】:

首先,我是 C 编程的初学者。我一直在寻找解决方案很长时间,但我不知道 mi 代码或 Eclipse 配置发生了什么。基本上,当我在代码中插入来自外部库的函数时,就会出现问题。由于某种原因,eclipse 无法调试代码。

让我用一个简单的例子来解释一下:

工作不正确:

int main(void) {

    char        version[32];

    puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */

    En2version(version);

    printf("Version %s \n", version);

    return 0;

}

正常工作:

int main(void) {

    char        version[32];

    puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */

    printf("Version %s \n", version);

    return 0;

}

En2version() 是从外部库中获取的函数,只需从代码中删除它就可以使其正常工作。

我认为该库已正确链接到项目(链接.lib 时没有错误)。您能否帮助我了解正在发生的事情?

谢谢大家。

【问题讨论】:

  • En2version的原型是什么,它应该做什么?
  • 原型:void En2version(char * version);它应该用库的版本号填充“版本”变量
  • “工作不正确”是什么意思。它打印任何东西吗?它会中止吗?
  • 它显示“终止”,但控制台中没有打印任何内容。当我抑制该行时,它会打印 !!!Hello World!!!版本 Ä[´tÐ@
  • 当行被抑制时,它会打印未初始化的 char 变量的值,但这不是真正的问题。

标签: c eclipse debugging


【解决方案1】:

我没有看到你的#include

无论您使用什么,都需要debugging symbols

  • 如果您有 .pdb,则使用程序数据库方式
  • 如果您没有 .pdb,则使用嵌入式符号方式

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多