如何在调试时隐藏我的C库代码

时间:2016-12-06 07:34:30

标签: c stm32 iar stm32f4

我想创建我的C函数作为库,我想隐藏我的代码

我希望每个人在调试时都看不到C / Assemble代码。

所以我使用IAR创建一个C库文件并设置项目→选项,如下所示

  • 常规选项→输出→输出文件:
  • 常规选项→库配置→库:
  • C / C ++编译器→输出: [未选中]生成调试信息
  • 汇编程序→输出: [未选中]生成调试信息

之后我使用我创建的库并尝试调试。我可以将我的库看作汇编代码,但我不想要它。

所以如何隐藏它。

  

示例:

我创建了一个示例函数

图书馆计划

#include "mylib.h"
#include "stdint.h"

int64_t my_add(int64_t a, int64_t b)
{
  return a+b;    
}

应用项目

add_result = my_add(10, 20);  /* I debug at this line */

代码运行到调试点后,按F11(步入)。 Debug能够跳转到我的libary代码,如下图所示。 Debuging is able to see my code as assemble

1 个答案:

答案 0 :(得分:0)

您应该能够从输出文件中删除所有符号。你需要问IAR如何做到这一点。然后“ my_add ”和“ my_sub ”就不存在了。调试器将读取二进制代码并根据所使用的体系结构转换为汇编程序,所以当然你无法摆脱它。