我正在尝试调试tensorflow项目,该项目使用SWIG技术使用python前端包装c ++实现。我想调试C ++部分。这是我所做的:
- 在终端($ pid)中启动一个tensorflow python脚本
- 直接使用
lldb -p $pid
可以正常工作,我可以设置断点等。
- 但是我想使用CLion调试GUI,所以我单击
Clion->Run->Attach to Process
,找到$ pid作为本机进程。
- CLion已成功附加到$ pid,但是,我在Clion中设置的每个断点都是灰色的,不会被击中。但是如果我在嵌入式lldb控制台中设置断点,则它可以工作(断点命中并在Clion代码文件中突出显示)。
CLion断点的错误消息是:
断裂点当前不会被击中。没有关联的可执行代码
这条线。
P1:
P2:
如何做到这一点,以便我可以在Clion而不是lldb命令中设置断点?
其他信息:
- 使用bazel构建的tensroflow。我不使用Clion来构建。只是编辑/浏览/调试。 CLion有一个bazel插件,但是绑定到特定的bazel版本,对我来说不行。
- CLion版本2.19.2