标签: debugging

如何在GDB中获取内存地址的符号名称?

例如,我知道0x46767f0属于NSString*,有什么方法可以找出NSString是什么来帮助我找到一些我想要的错误?

memory debugging gdb

37
推荐指数
3
解决办法
4万
查看次数

'ab'程序在收到大量请求后会冻结,为什么?

每当我使用'ab'对Web服务器进行基准测试时,它会在发送大量请求后冻结一段时间,但仅在20秒左右后继续.

考虑以下用Ruby编写的HTTP服务器模拟器:

require 'socket'

RESPONSE = "HTTP/1.1 200 OK\r\n" +
           "Connection: close\r\n" +
           "\r\n" +
           "\r\n"

buffer = ""
server = TCPServer.new("127.0.0.1", 3000)  # Create TCP server at port 3000.
server.listen(1024)                        # Set backlog to 1024.
while true
    client = server.accept             # Accept new client.
    client.write(RESPONSE)             # Write a stock "HTTP" response.
    client.close_write                 # Shutdown write part of the socket.
    client.read(nil, buffer)           # Read all data from the socket.  
    client.close                       # Close it.
end
Run Code Online (Sandbox Code Playgroud)

然后我按如下方式运行ab:

ab -n 45000 -c 10 …
Run Code Online (Sandbox Code Playgroud)

sockets debugging networking throttling apachebench

37
推荐指数
2
解决办法
7457
查看次数

在Eclipse中使用Pydev的交互式控制台?

我正在使用Pydev插件在Eclipse中调试我的Python代码.我能够打开一个Pydev控制台,它给了我两个选项:"当前活动编辑器的控制台"和"Python控制台".但是,在断点之后,它们都不能用于检查当前变量状态.

例如,代码在断点处停止,我想使用控制台检查"action"变量.但是我的变量不可用.我怎么能做"dir(动作)"之类的事情?(即使它没有使用控制台).

python debugging console interactive pydev

36
推荐指数
3
解决办法
3万
查看次数

如何在Eclipse中调试已编译的Java代码

我想知道Eclipse IDE是否有任何解决方案来调试我没有源代码的Java代码,即调试动态反编译代码,逐步执行它等等?我尝试使用JD-Eclipse,JadClipse,如果我想查看一些类文件,这些插件工作得很好,但是当我调试时,我得到"Source not found". - 如何"附加"这些插件以"提供"源?

我的环境:

  • Eclipse 3.5
  • Windows XP(但如果可能,我会寻找跨平台解决方案)

谢谢.

java eclipse debugging decompiler

36
推荐指数
3
解决办法
4万
查看次数

如何在VS2010 RC中设置我的开发Web浏览器?

我不喜欢将IE用于我的系统默认Web浏览器.

我确实想在IE2010中将IE设置为我的浏览器,因为它的调试效果更好,我喜欢开发到最低的公分母.(jab,lol)...无论如何,我可以默认对IE进行调试吗?

我知道在VS2008中你只需要在.aspx页面上"浏览...".但VS2010 RC中不存在该选项.是什么赋予了?

browser debugging settings visual-studio-2010 visual-studio

36
推荐指数
4
解决办法
5万
查看次数

有没有办法打开perl中的跟踪(相当于bash -x)?

我在perl中有一个系统脚本.我需要一些等效的bash -x来确定脚本出了什么问题.有没有相当的东西?

编辑:bash -x的作用是它在评估时打印每一行.这使得调试代码只是缺少一些路径变量或文件非常容易.

debugging perl trace

36
推荐指数
3
解决办法
2万
查看次数

你如何调试在Arduino硬件上运行的Arduino代码?

有没有办法设置源级断点,在实际硬件上运行代码,并能够检查变量并继续?

debugging arduino

36
推荐指数
2
解决办法
7万
查看次数

单步执行TCP/IP堆栈

我是一名专有嵌入式操作系统的QA工程师.他们构建了自己的ATN堆栈并通过调试器踩到它是我在网络方面最开放的经验.看着堆栈的每一层构建他们的数据包的一部分是惊人的.然后最终能够看到线上构建的数据包有更多的意义.

作为一名教育工作者,我想与其他人分享这种经历.有谁知道通过TCP/IP堆栈踩一个直接的方法?理想情况下,我想比调试*BSD或Linux内核更容易,但如果这是唯一的选择,那么这个过程的一些提示和技巧会很好.用C/C++编写的参考堆栈可以用Visual Studio或Eclipse在用户模式下运行,这将是理想的选择.

debugging networking tcp-ip

36
推荐指数
5
解决办法
5288
查看次数

用-g gcc标志编译的程序是否比没有-g编译的同一程序慢?

我正在使用-O3编译程序以获得性能,使用-g编译调试符号(如果发生崩溃,我可以使用核心转储).有一件事困扰我,-g选项会导致性能下降吗?当我查看使用和不使用-g的编译输出时,我看到没有-g的输出比使用-g的编译输出小80%.如果额外的空间用于调试符号,我不关心它(我猜)因为在运行时没有使用这部分.但是如果没有-g的编译输出中的每条指令,我需要在编译输出中用-g做更多4条指令,我当然更愿意停止使用-g选项,即使代价是无法处理核心转储.

如何知道程序内部调试符号部分的大小,一般情况下使用-g进行编译会创建一个比没有-g编译的相同代码运行得慢的程序?

c++ debugging optimization gcc

36
推荐指数
1
解决办法
9135
查看次数

Python:打印变量的名称和值?

在调试时,我们经常会看到如下的print语句:

print x        # easy to type, but no context
print 'x=',x   # more context, harder to type
12
x= 12
Run Code Online (Sandbox Code Playgroud)

如何编写一个函数来获取变量或变量的名称并打印其名称和值?我只对调试输出感兴趣,这不会被合并到生产代码中.

debugPrint(x)    #  or
debugPrint('x')
x=12
Run Code Online (Sandbox Code Playgroud)

python debugging

36
推荐指数
5
解决办法
3万
查看次数