我想调试一个运行多个TCP服务器线程的C程序。我不能设置一个复杂的调试工具,因为我必须在嵌入式linux(忙碌的盒子)中进行调试。我希望它能原生支持gdb。
所以我从gdb开始。一旦我输入run,服务器似乎在后台运行,但gdb返回提示和"Program received signal SIG64 (Real-time event 64)“消息(我猜与pthread有关)。我知道这一定是因为main被分成了几个线程。但是我不知道如何调试它。任何起点都会很有帮助。
另外,有没有其他的“跟踪”,比如调试器,我可以使用很小的内存?
请帮帮忙
我正在尝试调试一些pyspark代码,但是当调试器碰到创建SparkSession的行时,它就会失败。
SparkSession.builder.master("local").appName("test").getOrCreate()
异常由JavaArray类__compute_index方法(在java_collections.py中定义)引发:
raise IndexError("list index out of range")
但是,手动运行测试(没有调试器)按预期工作(即测试成功运行)。此外,令人惊讶的是,可以通过在调用getOrC
我的生产服务器上的Apache正在断断续续地故障。我在apache配置中启用了核心转储选项,并有几个转储核心文件。不幸的是,由于它是生产服务器,apache或加载的模块没有使用调试符号进行编译。据我所知,gdb没有调试符号就不能做很多事情。
我能否至少找出哪个模块导致seg故障,而不需要调试符号?如果是这样的话,是怎么做的?
更新下面是gdb回溯跟踪的输出
(gdb) bt full
#0 0xb7f1f832 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
No symbol table info available.
#1 0xb7be8
我正在调试一些Python代码,它存在阻塞问题。我对那里发生了什么有一些假设,但我对Python线程机制还不太了解,无法验证它。
以下是代码:
class Executor:
def execute_many(commands):
with_processes = zip(commands, seld.process_cycle)
def write():
for command, process in with_processes:
send_command_to_process(proce
我一直在Linux上用远程调试器测试VS2017 Linux C++。我为C++创建了几个示例项目,在我开始使用线程示例之前,一切都进行得很好。
我似乎无法让线程编译,因为我一直收到“`pthread_create的未定义引用”错误。我知道这方面的解决方案是将-lpthread或-pthread添加到VS项目属性命令行,但在这种情况下,这似乎不起作用。
如果有人有这方面的工作,请你指出正确的方向。