HarmonyOS 鸿蒙Next c++代码在非entry模块中断点无效

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next c++代码在非entry模块中断点无效 本地有一个c++模块libjsruntime.so,在entry模块中时可以正常断点,将模块移动到本地模块("@dcloudio/uni-app-runtime": “./UniAppRuntime”)中以后,运行以及调试c++代码可以正常编译,但是编辑器中的断点不再生效。

2 回复

尝试下面的方案

可以设置代码调试类型,IDE Run > Edit Configurations > Debugger,设置Debug type为ArkTS/JS + NATIVE

指导文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/ide-run-debug-configurations-V13

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/ide-source-code-debugging-V13

更多关于HarmonyOS 鸿蒙Next c++代码在非entry模块中断点无效的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS(鸿蒙)Next系统中C++代码在非entry模块中断点无效的问题,这通常与调试环境配置、模块编译选项或调试器设置有关。以下是一些可能的原因和解决方法,但不涉及Java和C语言相关内容:

  1. 调试器配置:确保你的调试器(如GDB)已正确配置,且支持鸿蒙系统的调试。检查调试器是否已连接到正确的设备或模拟器,并且设备或模拟器处于调试模式。

  2. 编译选项:非entry模块可能在编译时未包含调试信息。检查该模块的编译选项,确保包含了生成调试信息的标志(如-g)。同时,确认优化级别(如-O0)未过高,因为高级别的优化可能会移除或改变代码结构,导致断点无效。

  3. 模块加载:确保非entry模块已被正确加载到调试环境中。在某些情况下,如果模块未被加载或加载不正确,断点将无法设置。

  4. 符号表:检查符号表是否完整且最新。符号表是调试器用来将断点映射到实际代码位置的关键信息。

如果以上方法均未能解决问题,可能是鸿蒙系统或调试器本身的bug,或者是特定环境下的配置问题。此时,建议直接联系鸿蒙系统的官方支持团队或访问官网客服获取帮助。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部