无法在共享对象库中插入断点x(python使用c+;+;中的.so库) 我试图用PybDun11分析C++,将它变成.so文件。 .so文件具有python API,因此主python程序使用python API并调用.so文件中的函数。我使用两个调试器来处理Python(PDB)和C++(GDB)。 在gdb中设置断点时,出现以下错误: Cannot insert breakpoint 1. Cannot access memory at address 0xb41798 当我在C++中设置断点时,没有任何抱怨,但是当程序在Python中恢复时,我在C++调试窗口中有这个错误消息。我怎样才能解决这个问题
添加:以下是我如何运行调试程序。无法在共享对象库中插入断点x(python使用c+;+;中的.so库) 我试图用PybDun11分析C++,将它变成.so文件。 .so文件具有python API,因此主python程序使用python API并调用.so文件中的函数。我使用两个调试器来处理Python(PDB)和C++(GDB)。 在gdb中设置断点时,出现以下错误: Cannot insert breakpoint 1. Cannot access memory at address 0xb41798 当我在C++中设置断点时,没有任何抱怨,但是当程序在Python中恢复时,我在C++调试窗口中有这个错误消息。我怎样才能解决这个问题,python,c++,debugging,gdb,pdb,Python,C++,Debugging,Gdb,Pdb,添加:以下是我如何运行调试程序。 对于pdb:python3-m pdb test.py对于gdb:ddd/usr/loca/../dlib…gnu.so 10498其中10498是python程序的进程id 我这样做了.so文件(DLIB C++到.so文件,包含Python API),像这样: sudo python3 setup.py安装--clean--set USE_AVX_INSTRUCTIONS=1--set DLIB_USE_CUDA=1--set CUDA_NVCC_FLAGS
对于pdb:
python3-m pdb test.py
对于gdb:ddd/usr/loca/../dlib…gnu.so 10498
其中10498是python程序的进程id我这样做了.so文件(DLIB C++到.so文件,包含Python API),像这样:
sudo python3 setup.py安装--clean--set USE_AVX_INSTRUCTIONS=1--set DLIB_USE_CUDA=1--set CUDA_NVCC_FLAGS=“--expt relaxed constepr”--编译器标志“-O0-g”
setup.cfg文件已被删除
[build_ext]
debug = 1
也许是我做这件事的方式有问题。那么归档
对于gdb:ddd/usr/loca/../dlib…gnu.so 10498
您的DDD调用不正确:进程10498
没有运行您的dlib…gnu。因此binary,它正在运行python3
二进制文件,其中加载了。因此
您需要像这样调用它:ddd python3 10498
对于gdb:ddd/usr/loca/../dlib…gnu.so 10498
您的DDD调用不正确:进程10498
没有运行您的dlib…gnu。因此binary,它正在运行python3
二进制文件,其中加载了。因此
您需要像这样调用它:ddd python3 10498
如何执行这个问题gdb-r python-m pdb…
?@SzabolcsDombi for pdb:python3-m pdb test.py
for gdb:ddd/usr/loca/../dlib…gnu.so 10498`其中10498是python程序的进程id。我更新了我的问题你是如何执行问题的gdb-r python-m pdb…
?@SzabolcsDombi for pdb:python3-m pdb test.py
for gdb:ddd/usr/loca/../dlib…gnu.so 10498`其中10498是python程序的进程id。我更新了我的问题