大家好,
我使用debug选项编译了一个新的TensorFlow源,并尝试将GDB附加到Python进程中,并在其中导入TensorFlow .
当在GDB中添加 break TF_NewSession 时,我得到 Cannot access memory at address [...] .

这可能是什么问题?


Env :OS X Yosemite 10.10.4,gdb 7.10,GCC 4.2.1兼容的Apple LLVM 6.1.0(clang-602.0.53),Python 2.7.10

Details 执行步骤:

  • 使用 debug option 编译的TensorFlow:
$ bazel build -c dbg --strip=never //tensorflow/tools/pip_package:build_pip_package
  • 准备好的pip包:
$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
  • 创建了Virtualenv环境并安装了包:
$ mkdir ~/tensorflow
$ virtualenv --system-site-packages ~/tensorflow
$ source ~/tensorflow/bin/activate
(tensorflow)$ pip install --upgrade /tmp/tensorflow_pkg/tensorflow-0.8.0-py2-none-any.whl
  • 运行TF并使用gdb附加到python进程:
#terminal 1:
(tensorflow)$ python
>>import tensorflow as tf
>>import os
>>os.getpid()
10856

#terminal 2:
$ gdb -p 10856
[...]
(gdb) break TF_NewSession
Cannot access memory at address 0x3d8fdd0  <-- ERROR

预先感谢您的帮助!