我想调试一个运行多个TCP服务器线程的C程序。我不能设置一个复杂的调试工具,因为我必须在嵌入式linux(忙碌的盒子)中进行调试。我希望它能原生支持gdb。
所以我从gdb开始。一旦我输入run,服务器似乎在后台运行,但gdb返回提示和"Program received signal SIG64 (Real-time event 64)“消息(我猜与pthread有关)。我知道这一定是因为main被分成了几个线程。但是我不知道如何调试它。任何起点都会很有帮助。
另外,有没有其他的“跟踪”,比如调试器,我可以使用很小的内存?
请帮帮忙
我正在开发VB.net窗口应用程序中的自动电子邮件发送程序。奇怪的是,当调试器到达
Dim SMTP As New SmtpClient(_SMTP)此行,它再次转到调用函数,并且调试条颜色从黄色变为绿色,例如:
Private Sub Send_Mail_To_Checker() <-- Debugger Jumps Here with Color changes to Green
'----Some code-------
SendMail()
End Sub
Public Sub SendMail()
Dim Mail As New MailMessag
我对GDB并不熟悉,也不确定你们中是否有人经历过:当我使用GDB来调试一个有两个线程的程序时,我发现逐行执行的步进不是线性的,甚至对于一个线程来说也是不可预测的,输出的变量值也是令人困惑的。假设我有一个程序(在C++中),如下所示:
(我正在使用gdb的-tui模式在ubuntu命令行上调试)。
.....
70 for (int i = 0; i < MAX; i++) {
71 int foo = 1;
b+ 72 Bar *bar = f1();
73 int v1 = bar->doCalc();
74 in