草庐IT

DEBUGGING

全部标签

c++ - 在 linux 上调试时如何显示 Unicode 字符串?

作为使用MSVisualStudio的C++开发人员,我已经工作了几年作为工作平台。由于我私下更喜欢使用linux,所以我最近采取了也有机会将我的工作环境转移到Linux。由于我多年来一直在优化我的Windows环境,当然,事实证明有几件事丢失了或没有按预期工作。因此,我有一些问题,我还没有得到有用的答案。让我们开始下面的问题,稍后可能会出现不同的问题。问题是我已经多次偶然发现的问题,每当我被迫在非Windows平台上调试特定于平台的错误时。简单来说:如何在linux调试时显示Unicode(UCS2编码)字符串?现在我想出了一些更多的细节。我们的库内部使用基于Unicode的Stri

c++ - 嵌入式 Linux 上的轻量级调试

我正在开发一个在基于Linux的小型SBC(~32MBRAM)上运行的应用程序。可悲的是,我的应用程序最近变得太大而无法再在GDB下运行。有谁知道我可以在嵌入式Linux中使用的任何好的、轻量级的调试方法吗?即使能够查看线程的堆栈跟踪也会非常有帮助。我应该提到这个应用程序是用C++编写的并且运行多线程,所以gdbserver是不行的,因为它不适用于多线程应用程序。提前致谢摩诃 最佳答案 gdbserver绝对适用于多线程应用程序,我现在正在处理一个超过25个线程的嵌入式项目,并且我们一直使用gdbserver。infothreads

c++ - 嵌入式 Linux 上的轻量级调试

我正在开发一个在基于Linux的小型SBC(~32MBRAM)上运行的应用程序。可悲的是,我的应用程序最近变得太大而无法再在GDB下运行。有谁知道我可以在嵌入式Linux中使用的任何好的、轻量级的调试方法吗?即使能够查看线程的堆栈跟踪也会非常有帮助。我应该提到这个应用程序是用C++编写的并且运行多线程,所以gdbserver是不行的,因为它不适用于多线程应用程序。提前致谢摩诃 最佳答案 gdbserver绝对适用于多线程应用程序,我现在正在处理一个超过25个线程的嵌入式项目,并且我们一直使用gdbserver。infothreads

linux - 你能推荐一个很好的 linux 调试 malloc 库吗?

你能推荐一个很好的linux调试malloc库吗?我知道那里有很多选择,我只需要知道人们实际使用哪些库来解决现实生活中的问题。谢谢!编辑:我知道Valgrind,但有时性能真的太低了。 最佳答案 Valgrind.:-)它不是malloc库,但是,它非常擅长查找内存管理和内存使用错误。 关于linux-你能推荐一个很好的linux调试malloc库吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

linux - 你能推荐一个很好的 linux 调试 malloc 库吗?

你能推荐一个很好的linux调试malloc库吗?我知道那里有很多选择,我只需要知道人们实际使用哪些库来解决现实生活中的问题。谢谢!编辑:我知道Valgrind,但有时性能真的太低了。 最佳答案 Valgrind.:-)它不是malloc库,但是,它非常擅长查找内存管理和内存使用错误。 关于linux-你能推荐一个很好的linux调试malloc库吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

linux - 如何与我们的进程并行运行 Valgrind,使其性能不会下降太多?

我需要使用Valgrind来检测服务器应用程序中发生的任何内存访问违规。服务器创建许多线程。我怀疑存在导致服务器每1小时左右崩溃一次的竞争条件。我们使用Valgrind分析其内存使用情况,但服务器进程的速度急剧下降。服务器的速度下降得如此之快,以至于几乎无法使用,并且在可能的情况下没有比赛条件。有没有办法让Valgrind与我们的应用程序并行运行,这样我们就不会损失那么多性能? 最佳答案 你不能那样做。Valgrind实际上并不在native执行您的代码-而是在模拟器中运行它。这就是为什么它这么慢。所以,没有办法让它运行得更快,同时

linux - 如何与我们的进程并行运行 Valgrind,使其性能不会下降太多?

我需要使用Valgrind来检测服务器应用程序中发生的任何内存访问违规。服务器创建许多线程。我怀疑存在导致服务器每1小时左右崩溃一次的竞争条件。我们使用Valgrind分析其内存使用情况,但服务器进程的速度急剧下降。服务器的速度下降得如此之快,以至于几乎无法使用,并且在可能的情况下没有比赛条件。有没有办法让Valgrind与我们的应用程序并行运行,这样我们就不会损失那么多性能? 最佳答案 你不能那样做。Valgrind实际上并不在native执行您的代码-而是在模拟器中运行它。这就是为什么它这么慢。所以,没有办法让它运行得更快,同时

linux - GDB远程调试错误

我尝试在x86_64suselinux上远程调试32位应用程序,但出现“远程寄存器格式错误”错误。我启动gdbserver监听端口12345(gdbserverlocalhost:12345my_prog)这是错误:$gdbGNUgdb6.6Copyright(C)2006FreeSoftwareFoundation,Inc.GDBisfreesoftware,coveredbytheGNUGeneralPublicLicense,andyouarewelcometochangeitand/ordistributecopiesofitundercertainconditions.Typ

linux - GDB远程调试错误

我尝试在x86_64suselinux上远程调试32位应用程序,但出现“远程寄存器格式错误”错误。我启动gdbserver监听端口12345(gdbserverlocalhost:12345my_prog)这是错误:$gdbGNUgdb6.6Copyright(C)2006FreeSoftwareFoundation,Inc.GDBisfreesoftware,coveredbytheGNUGeneralPublicLicense,andyouarewelcometochangeitand/ordistributecopiesofitundercertainconditions.Typ

c++ - 如何编写一个简单的调试器?

我想将编译后的目标代码连接到c++代码,然后检查是否执行了某行代码。如何做这两件事?如果解释不简单(我敢打赌它不简单),至少有人可以指向一些解释如何执行此操作的网页吗?我知道解决方案对于不同的平台是不同的,但我对它在windows和linux(首先是linux)上是如何完成的很感兴趣 最佳答案 如果你想知道它是怎么做到的,gdb是开源的ptracesyscall应该让你开始,libunwind-ptracethisisanicearticle使用ptrace 关于c++-如何编写一个简单