调试 – 如何在ubuntu上使用调试库

前端之家收集整理的这篇文章主要介绍了调试 – 如何在ubuntu上使用调试库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前的问题是libwebkitgtk-3.0-0,但我想这个问题很通用.

我的应用程序在webkit代码中崩溃了.我的假设是我们做了一些愚蠢的事情并想知道什么.最简单的方法是设置断点或使用库的调试版本.

>如何获得构建库的确切源代码?我在转储核心后得到堆栈跟踪,但行号gdb说与我在代码中看到的不匹配.换句话说,如果我安装libwebkitgtk-3.0-0,我想获得它的确切源代码.
>我已经安装了webkit库的调试版本.这些调试版本是否具有与使用–enable-debug标志编译webkit相同的功能? webkit的调试版本基于WEBKIT_DEBUG环境变量启用日志记录,但即使使用库的调试版本,我也无法获得相同的日志记录.
>如何使用我设法编译的调试版本?我设法在我的机器上编译webkit并试图摆弄负载路径等.无论我做什么,我的应用程序都不会获取新的共享库 – 我可以根据用户代理签名来判断.有一次,我设法拿起了库,但是SSL停止了工作. GtkLauncher确实发生了同样的SSL问题.所以我在某个地方犯了错误.

谢谢你的指点.

1)当我需要深入了解我通过软件包安装的库时,我要做的第一件事就是从源代码安装它.我的意思是configur / make / make install.我通常将源代码放在/usr/local / src中并将其安装在/usr/local中.在我看来,这是运行您拥有源代码的确切代码的最可靠方法.

3)

How to use the debug version I managed to compile?

这听起来像你做了我上面描述的.您需要做的是确保您的软件使用托管已编译,已启用调试的库的包含和链接目录.这意味着确保设置-I /usr/local / include和-L /usr/local / lib标志,它们位于/usr/include和/usr/lib之前.

通过从ubuntu安装中删除库的二进制版本,可以更加确定,确保您构建和安装的版本是硬盘上唯一的版本.这样您就可以确定您能够配置您的应用程序以使用该库.否则它会失败,而不是你经常想知道它是使用新库还是旧库.

2)通常是的.但它取决于库的编写方式,以及ubuntu打包器决定做什么.

使用本地构建的库编译程序后,查看是否首先得到相同的错误.如果没有那么那也是一个数据点.自上次ubuntu打包库以来,问题得到解决.也许图书馆没有正确包装,这就是问题所在.您甚至可能会遇到新的错误,因为ubuntu打包程序以某种方式配置了库,因此它可以正常工作而您没有做同样的事情.无论如何,你会获得有趣的线索.

祝好运

猜你在找的Ubuntu相关文章