callee和caller的区别

keil 中 show callee code和show caller code的区别,前者是当前的执行的函数,或者是嵌套的函数

📌 基本概念

术语 含义 举例
Callee 被调用的函数 如果 funcA 调用了 funcB,那么 funcBcallee
Caller 调用当前函数的函数 上例中,funcAfuncBcaller

🛠️ 在各调试器中的实现方式

1. Keil MDK (μVision)
  • 查看 Caller Code

    • 打开 Call Stack + Locals 窗口(View → Call Stack Window)。

    • 在调用栈列表中,双击上一级函数(即当前函数下方的条目),编辑器会自动跳转到该函数的代码位置。

  • 查看 Callee Code

    • 如果当前函数内有即将执行的函数调用,可以设置断点 在该调用处,或用 Step Into (F11) 单步进入被调用函数。

    • 或者直接在源代码中手动打开被调用函数的定义(右键 → Go to Definition)。

2. IAR Embedded Workbench
  • Caller :在 Call Stack 窗口中双击上一级函数。

  • Callee :使用 Step Into 或在源码中导航到被调用函数。

3. GDB (命令行)
  • 查看 Caller

    gdb

    复制代码
    backtrace      # 显示完整调用栈
    frame 1        # 切换到上一层(caller)的栈帧
    list           # 显示该帧对应的源代码
  • 查看 Callee

    gdb

    复制代码
    step           # 单步进入被调用函数
    # 或直接查看当前函数内即将调用的函数名,然后 list 该函数
4. Visual Studio / VS Code (嵌入式调试)
  • Caller :在 Call Stack 窗口中点击上一级条目。

  • Callee :将光标放在函数调用处,按 F12(转到定义),或单步步入。

相关推荐
麻瓜老宋6 小时前
AI开发C语言应用按步走,表达式计算器calc的第二十二步,分号赋值链式修复、TOKEN_ASSIGN
c语言·开发语言·atomcode
SilentSlot10 小时前
【C/C++】手写 DPDK 协议栈(十一):基于 PPS、SYN 比例和源 IP 熵的 DDoS 检测
c语言·c++·tcp/ip
冻柠檬飞冰走茶12 小时前
PTA基础编程题目集 7-15 计算圆周率(C语言实现)
c语言·开发语言·数据结构·算法
Rabitebla15 小时前
C++ 内存管理全面复习:从内存分布到 operator new/delete
java·c语言·开发语言·c++·算法·leetcode
SilentSlot15 小时前
【C/C++】手写 DPDK 协议栈(八):用五元组 Hash 加速连接定位
c语言·c++·哈希算法
Tisfy16 小时前
LeetCode 3517.最小回文排列 I:排序(Python两行版) / 计数(O(n)时间+O(C)空间+字符串原地修改)
c语言·python·leetcode·字符串·排序·计数排序·回文
菜鸟的升级路16 小时前
C语言栈刷题:LeetCode 20 有效的括号完整解题笔记
c语言·笔记·leetcode
冻柠檬飞冰走茶16 小时前
PTA基础编程题目集 7-13 日K蜡烛图(C语言实现)
c语言·开发语言·数据结构·算法
SilentSlot18 小时前
【C/C++】手写 DPDK 协议栈(十二):TCP 并发与自实现 epoll 的就绪事件分发
c语言·c++·tcp/ip
SilentSlot18 小时前
【C/C++】手写 DPDK 协议栈(六):TCP 三次握手、状态机与数据回显
c语言·c++·tcp/ip