`
linkyou66
  • 浏览: 234872 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

linux 下python 调用C++ .so如何debug c++代码

 
阅读更多
<p></p>
<p>1. 在python入口的函数写如下代码</p>
<p>time.sleep(50) #休眠若干秒,休眠的时间根据你操作速度定。为了有足够的时间启动gdb,并且attach到python的进程</p>
<p>为了防止操作过慢,程序没等gdb起来就已经跑远了,最好把要debug的代码行,另外记录到文本中</p>
<p>如:</p>
<p>b cmdswitch.cpp:321 #要debug的行数</p>
<p></p>
<p>2.先查看一下python的进程号</p>
<p>ps -ef|grep python 记下线程号。</p>
<p>3.启动gdb</p>
<p>4.如果多线程需加入</p>
<p>handle SIGPIPE nostop noprint </p>
<p>5.attach (python进程id)</p>
<p>如: attach 12232</p>
<p>6. 键入b cmdswitch.cpp:321,或从事先准备好的edit里拷贝过来</p>
<p>7. 键入c</p>
<p>8.等待debug代码被断</p>
<p></p>
<p></p>
<p></p>
<p></p>
分享到:
评论

相关推荐

    so编写和Python调用.so文件

    6. **调用C++函数**:现在,你可以像调用Python函数一样调用`.so`文件中的函数。例如,如果有一个名为`my_function`的函数,可以这样调用:`result = my_library.my_function()`。 7. **处理数据类型**:由于Python...

    基于C++实现算法的动态链接库文件并被python调用源码.zip

    课程作业基于C++实现算法的动态链接库文件并被python调用源码.zip课程作业基于C++实现算法的动态链接库文件并被python调用源码.zip课程作业基于C++实现算法的动态链接库文件并被python调用源码.zip课程作业基于C++...

    linux 下 python调用c或者c++编写的代码使用案例

    Python代码可以直接导入这个模块并调用C++函数。 在Ubuntu这样的Linux系统中,通常使用g++编译C++代码,并通过-g选项添加调试信息。对于动态链接库,你需要使用-g和-fPIC选项编译,然后使用g++的`-shared`选项生成....

    简单的Python调用C++程序.zip

    在提供的"简单的Python调用C++程序.docx"文档中,可能包含了使用上述技术之一的具体步骤和示例代码。通常,这样的教程会从创建一个简单的C++函数开始,然后展示如何编译成动态链接库,最后在Python中加载并调用这个...

    python调用C++函数

    总的来说,Python调用C++函数是提高Python程序性能的一种有效手段,它结合了Python的易用性和C++的高性能,实现了两者的最佳融合。通过学习和实践上述方法,开发者可以更好地利用这两种语言的优点,构建高效且易于...

    Make成python可以调用的.so文件。

    这种情况下,我们通常会使用Cython或者SWIG等工具将C++代码编译为Python可以调用的动态链接库(.so文件,Linux下的动态库,Windows下对应的是.dll文件)。本文将详细介绍如何将C++代码编译为Python可调用的.so文件,...

    Python中调用C++dll例子

    下面我们将详细介绍如何使用`ctypes`来调用C++编写的DLL。 1. 定义C++接口 在C++中,我们需要编写一个DLL,包含一些可供Python调用的函数。比如,我们可以创建一个名为`CreateDll`的DLL,里面有一个函数`...

    python调用C++DLL.rar

    标题中的"python调用C++DLL"指的是在Python编程环境中,通过特定的接口技术来调用C++编译生成的动态链接库(DLL)文件。这通常涉及到跨语言交互,以便利用C++的高性能和Python的易用性。C++ DLL是Windows操作系统中...

    python调用c++动态库Demo

    本教程将详细讲解如何使用Python调用C++编写的动态链接库(DLL),并涉及回调函数的实现,非常适合初学者学习。 首先,我们需要了解动态库的概念。动态库(Dynamic Link Library,简称DLL)是一种包含可由多个程序...

    python-so.zip

    描述提到,“使用python使用linux生成python的so动态库,使用python调用”,意味着这个压缩包可能包含了一系列教程、代码示例或者脚本,指导如何在Python中创建C扩展模块,并将它们编译为Linux下的动态库,以便...

    Python调用C++封装

    Python调用C++封装是一种常见的跨语言编程技术,它允许我们利用C++的高效性能和Python的易用性。在Python中调用C++代码,通常通过以下几种方式实现:Python C API、SWIG(Simplified Wrapper and Interface ...

    python 调用 C++ dll 32位 64位 问题 ctypes.cdll.LoadLibrary

    t532.rar 测试代码 https://blog.csdn.net/wowocpp/article/details/105382257 python 调用 C++ dll 32位 64位 问题 ctypes.cdll.LoadLibrary

    python-3.9.9-embed-amd64.zip

    这个压缩包包含了运行Python程序所需的多个核心组件和依赖库,使得用户可以在不完整安装Python解释器的情况下运行Python代码。 描述 "python-3.9.9 windows 64位安装包" 表明这是专为Windows 64位操作系统设计的...

    精典源码之代码调用C++代码和C++代码调用代码.rar

    反向操作,即Python调用C++代码,也有多种方法。一种常见的方式是编写C++扩展模块,通过Python的`ctypes`库或者`swig`工具来实现。`ctypes`允许Python直接调用C或C++编译后的动态链接库(DLL或SO文件),而`swig`...

    Android使用JNI调用Python so解释器

    3. **封装Python解释器**:在C/C++代码中,你需要创建一个函数来加载Python解释器,并提供执行Python脚本的接口。这可能包括初始化解释器环境,加载脚本文件,调用Python函数等操作。 4. **创建JNI接口**:在Java...

    python调用C++类的方法

    本篇主要介绍如何使用`pybind11`这一现代、简洁且高效的工具来实现Python调用C++类的方法。 `pybind11`是一个强大的库,它的设计目标是简化Python与C++之间的交互。它允许在C++代码中直接定义Python接口,使得C++类...

    Python调用MPSizectorDemo.rar

    Python调用MPSizectorDemo是一个关于在Python环境中利用第三方库或者自定义模块与C/C++编写的MPSizector库进行交互的示例。这个压缩包可能包含了一个Python脚本,该脚本展示了如何在Python中调用MPSizector的功能。...

    Python调用C++几种常用使用方法

    Python 标准库中的 ctypes 模块允许直接调用 C 兼容的动态链接库(DLL 或 SO),因此也可以用来调用 C++ 代码。基本类型和字符串可以通过 ctypes 的数据类型映射,结构体则需要定义对应的 Python 类,并使用 `...

    python调用C与C++语言.pdf

    本文档介绍了如何使用Python调用用C语言或C++编写的动态链接库(DLL),这对于计算机视觉和人工智能领域的开发者尤为有用,因为他们可以使用性能更高的语言编写算法,同时在Python中享受高级特性和丰富的库。...

    C++调用python,免安装python环境运行

    首先,要实现C++调用Python,通常会用到Python的`Python.h`头文件,它是Python的C API,允许C/C++代码与Python解释器进行交互。但是,这种常规方法要求目标系统已经安装了Python环境。为了解决这个问题,项目可能...

Global site tag (gtag.js) - Google Analytics