gdb-多线程和共享库
gdb - multiple threads and shared libs
我有一个程序可以创建许多线程。我可以使用以下命令进行检查:ps -L pid
。我还知道一个进程加载一些共享的库。我想知道是否可以检查哪些线程属于选定的共享库。该进程包含调试符号,我可以使用以下命令附加到它们:sudo gdb -p pid
下一步是什么?
让我们已经附加到一个进程。
(gdb) info threads
将显示当前已知的线程。输出中的最后一列显示了每个线程的最后一个堆栈帧的函数和库。
如果你想看到线程启动例程和它们所属的库,你可以使用:
(gdb) thread apply all bt -3
此命令将为每个线程显示3个堆栈帧(从底部开始(。若您使用pthread库,那个么start_thread((之后的函数就是您的启动例程。
相关文章:
- 多线程减慢程序速度:无错误共享,无互斥锁,无缓存未命中,无小工作量
- 在多线程函数中返回共享的常量指针会导致计时问题吗?
- OpenMP:共享同一算法的单线程和多线程实现
- 多线程和共享资源:使用C++定期将数据从缓冲区(数据结构)复制到文件
- 多线程 - 降低效率,也许是由“ false共享”所产生的
- 共享内存多线程和数据访问
- 管理多线程应用程序中的共享变量
- 增强多线程和共享变量
- C++11 使用共享对象的多线程处理
- 多线程效率低下:调试错误共享
- 多线程插件体系结构中的共享、单侧可变状态
- 在多线程程序中共享资源 C++ 与 Java
- 并发:用于多线程环境中共享变量的C++11内存模型
- c++使用' .reserve() '填充' std::vector '作为防止多线程缓存无效和错误共享的一种方
- c++ /Windows多线程同步/数据共享
- 可以安全地共享指针数据的多线程库
- 在标准c++和OpenCL之间共享多线程代码
- 这是在多线程应用程序中访问共享对象的最佳方式
- OpenGL多线程/共享上下文和glGenBuffers
- 多线程在游戏中共享资源,需要一些想法的反馈