gpt4 book ai didi

c - gdb -- 没有名为 的源文件 - 英特尔编译器

转载 作者:行者123 更新时间:2023-12-02 02:19:49 25 4
gpt4 key购买 nike

我正在从 C 代码调用 Fortran 90 代码。有一个 main()(在 c 中)调用同一文件中的包装函数,调用 fortran 子例程(实际上在 liblibrary.a 中)。我在 Linux 上工作。现在,我正在使用 gdb 调试可执行文件,但找不到 main.c 文件。我使用

添加了工作目录
directory /my/working/directory

但它仍然说没有名为 main.c 的文件
如果我在 gdb 中键入 list,它会显示一段 Fortran 代码。如果我键入 show language,它会显示 The current source language is auto;目前 c.
如果我运行可执行文件然后中断它并查看堆栈,它将显示我正在调用的 c 函数,但它不会说明源文件,而是说明 fortran 子例程和函数。
我正在尝试调查我是否正确地将变量从 c 传递到 fortran 并向后传递,我怀疑我没有。

idb 或多或少也发生了同样的事情。当我尝试在 main.c 中打断时,它显示 not found。我用这些标志编译了 Fortran 代码:

-g -O0 -check bounds -warn all -traceback -align all -align rec8byte

和 C 代码:

-g -O0  -Wall

欢迎所有建议。

最佳答案

你好,你需要额外的标志来将调试信息放入你的可执行文件中。这是英特尔编译器的手册: http://cache-www.intel.com/cd/00/00/34/75/347599_347599.pdf请按照第 35 页上的说明尝试 -debug full

关于c - gdb -- 没有名为 <something> 的源文件 - 英特尔编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8865880/

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