我主要是在Windows机器上完成基本(新手级别)的软件开发,但我一直使用MSVisualStudio来帮助我逐步完成调试过程。但是,现在看来我将使用Linux,所以为了准备好跳转,我想确保我有一个/多个工具排好队来帮助我逐步完成代码和调试。不幸的是,当我口头询问人们如何在Linux上进行调试时,我通常会得到以下回答:“哦,我只是放了一堆打印语句。”我的天啊!没办法,但这是他们的答案。由于它在Linux上,并且将在CentOS32位操作系统上使用C++代码,我希望这是一个首选的开源解决方案。所以,我想我要求在CentOSLinux上为C++代码提供首选的OpenSourceIDE。感谢
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。哪个工具最适合反汇编C++可执行文件?我正在寻找类似OllyDbg但适用于Linux的东西。编辑:抱歉,忘了告诉我我也希望能够调试,而不仅仅是查看asm代码。EDIT2:我所说的“最佳”是指-“最适合Windows的是OllyDbg-可以查看asm代码并可以调试,它对用户友好且非常强大。哪个最适合Linux”。
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。哪个工具最适合反汇编C++可执行文件?我正在寻找类似OllyDbg但适用于Linux的东西。编辑:抱歉,忘了告诉我我也希望能够调试,而不仅仅是查看asm代码。EDIT2:我所说的“最佳”是指-“最适合Windows的是OllyDbg-可以查看asm代码并可以调试,它对用户友好且非常强大。哪个最适合Linux”。
我正在为应用程序编写插件,偶尔会抛出一个SIGSEGV。但是,应用程序捕获信号SIGSEGV。换句话说,插件是一个动态库。错误发生在我的插件和动态库中。但应用程序处理sSIGSEGV并正常退出。因此,我很难调试并获取所有堆栈帧的回溯。任何想法?目前我使用gdb作为调试工具。 最佳答案 GDB将在应用程序之前捕获SIGSEGV。您在对Logan的回答的评论中描述的内容毫无意义。我怀疑真正发生的事情是应用程序创建了一个新进程,并且只在另一个进程中获取SIGSEGV,而不是您将GDB附加到的进程。如果我的猜测是正确的,下面的命令可能会有用
我正在为应用程序编写插件,偶尔会抛出一个SIGSEGV。但是,应用程序捕获信号SIGSEGV。换句话说,插件是一个动态库。错误发生在我的插件和动态库中。但应用程序处理sSIGSEGV并正常退出。因此,我很难调试并获取所有堆栈帧的回溯。任何想法?目前我使用gdb作为调试工具。 最佳答案 GDB将在应用程序之前捕获SIGSEGV。您在对Logan的回答的评论中描述的内容毫无意义。我怀疑真正发生的事情是应用程序创建了一个新进程,并且只在另一个进程中获取SIGSEGV,而不是您将GDB附加到的进程。如果我的猜测是正确的,下面的命令可能会有用
我正在尝试调试我用gdb编写的服务器,因为它在非常特殊和罕见的条件下会出现段错误。有什么方法可以让gdb在后台运行(通过安静或批处理模式?),跟随子进程(因为我的服务器是守护进程并与主PID分离)并自动转储核心和回溯(到一个指定的文件)一旦程序崩溃? 最佳答案 假设您有适当的权限,您可以将gdb附加到任何进程。您可以在命令行上执行此操作:gdb/path/to/binary_pid_或在gdb中使用附加命令:attach_pid_因此,一旦您的守护进程启动,您就可以使用这些技术中的任何一种来附加到您的守护进程运行的最终PID。附加g
我正在尝试调试我用gdb编写的服务器,因为它在非常特殊和罕见的条件下会出现段错误。有什么方法可以让gdb在后台运行(通过安静或批处理模式?),跟随子进程(因为我的服务器是守护进程并与主PID分离)并自动转储核心和回溯(到一个指定的文件)一旦程序崩溃? 最佳答案 假设您有适当的权限,您可以将gdb附加到任何进程。您可以在命令行上执行此操作:gdb/path/to/binary_pid_或在gdb中使用附加命令:attach_pid_因此,一旦您的守护进程启动,您就可以使用这些技术中的任何一种来附加到您的守护进程运行的最终PID。附加g
gdb介绍gdb只是众多调试器中的一个,但是它是用得最多的,所以有必要了解一下。gdb和gcc一样,都属于gnu开源家族工具链,所以gdb对gcc编译后的程序的调试支持最好。学习一个工具,当然得先去看它官网,了解清楚整个脉络。官网:https://www.sourceware.org/gdb/我们这里关注如何使用,所以进入它的在线文档网站:https://sourceware.org/gdb/current/onlinedocs/gdb/(可能大家通过别的链接进入的网站跟这个不一样,那是因为这个gdb网站服务器里有多个版本的文档仓库,而官网这里进去的,总是最新的版本的文档)还给了个pdf文档:
gdb介绍gdb只是众多调试器中的一个,但是它是用得最多的,所以有必要了解一下。gdb和gcc一样,都属于gnu开源家族工具链,所以gdb对gcc编译后的程序的调试支持最好。学习一个工具,当然得先去看它官网,了解清楚整个脉络。官网:https://www.sourceware.org/gdb/我们这里关注如何使用,所以进入它的在线文档网站:https://sourceware.org/gdb/current/onlinedocs/gdb/(可能大家通过别的链接进入的网站跟这个不一样,那是因为这个gdb网站服务器里有多个版本的文档仓库,而官网这里进去的,总是最新的版本的文档)还给了个pdf文档:
最近我开始在linux下使用汇编程序,有很好的调试器,但是从Ruby开始我缺少简单的REPL,它可以让我输入一行汇编代码并在寄存器标志和堆栈上查看结果。谁能给我指出好的方向? 最佳答案 目前还不支持Linux,但如果有人需要OSX的程序集REPL,我已经创建了一个:https://github.com/Tyilo/asm_repl更新:Rappel似乎是您要找的东西:https://github.com/yrp604/rappel 关于linux-linux下有没有汇编器REPL?,我们