- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
“strace wget grooveshark.com”因字符串长度错误的奇怪套接字调用而停止,我必须按 Ctrl+C 才能终止。
write(2, "Connecting to grooveshark.com (g"..., 67Connecting to grooveshark.com (grooveshark.com)|8.20.213.76|:80... ) = 67
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("8.20.213.76")}, 16) = 0
write(2, "connected.\n", 11connected.
) = 11
select(4, NULL, [3], NULL, {900, 0}) = 1 (out [3], left {899, 999993})
write(3, "GET / HTTP/1.1\r\nUser-Agent: Wget"..., 115) = 115
write(2, "HTTP request sent, awaiting resp"..., 40HTTP request sent, awaiting response... ) = 40 [[ Check this line ]]
select(4, [3], NULL, NULL, {900, 0} ^C
write(2, "HTTP 请求已发送,等待响应"..., 40HTTP 请求已发送,正在等待响应...) = 40
应该是
write(2, "HTTP 请求已发送,正在等待响应...", 40 ) = 40
但是 strace wget google.com 给出了
write(3, "GET / HTTP/1.1\r\nUser-Agent: Wget"..., 116) = 116
write(2, "HTTP request sent, awaiting resp"..., 40) = 40
select(4, [3], NULL, NULL, {900, 0}) = 1 (in [3], left {899, 932611})
并正确终止。
谢谢
最佳答案
您看到 wget 的输出与 strace 的输出混合在一起。使用 strace
的 -o 选项将跟踪存储在文件中,这样就不会发生这种情况。
write(2, "HTTP request sent, awaiting resp"..., 40HTTP request sent, awaiting response... ) = 40
wget 中的 write 调用将消息打印到 stderr,在它返回之前,它的输出在终端中看到,在 40 和右括号之间
关于linux - wget 的 strace 给出了奇怪的套接字调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11010018/
我知道strace用途 ptrace做这份工作, 但它需要使用 TRACE_ME 运行目标进程在, 这不适用于已经运行的进程的情况。 它如何在已经运行的进程上工作? 最佳答案 strace -p -
精确是我在这里关注的重点...... mmap(0x37aa74d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRI
我正在尝试调试 Gammu,一个“移动电话的库和命令行实用程序”,它在与调制解调器正常通信时“超时”。 gammu recognize -> 在指定的超时时间内没有响应。可能是手机未连接。 查看它产生
当我跑 strace -f strace /bin/ls 知道 strace 是如何工作的,它失败了 ptrace(PTRACE_TRACEME, 0, 0, 0) = -1 EPERM (Opera
[root@woyo test]# strace -o /tmp/lsof.strace -p 5625 Process 5625 attached - interrupt to quit q 有谁知
我想用strace跟踪系统调用。读写太多,因此我想将它们排除在外。 这是我的测试: strace -e trace=!read ls 我的电脑(ubuntu 14)无法运行此命令。错误消息是“!ope
我正在研究这个问题并决定自己实现该程序。 Interpreting STRACE output - pipes and forks strace 输出对我来说是不同的: execve("./fork"
我正在尝试调试 ngspice 的原因在运行模拟时将烦人的换行符打印到 stderr。我试图在可追溯到 1993 年的 2400 个源文件之一中找到它,但这并不像听起来那么容易!然而,这确实意味着我有
strace 密码: getcwd("/root"..., 4096) = 6 ltrace 密码: getcwd(NULL, 0)
open("/etc/ld.so.cache", O_RDONLY) = 3 open("/lib/libselinux.so.1", O_RDONLY) = 3 open("/lib/l
我有一个单线程的 unix 进程,它通过 tcp 与其他进程进行通信。 问题如下。 当我启动进程时,它会挂起(没有忙循环),直到我杀死它。 有趣的是,一旦我将 strace 附加到它,它就会继续以预期
我正在使用 strace 来查找程序中可能存在的错误,并且我有以下输出: open(0x7765533c, O_RDONLY) = -1 EACCES (Permission denied) 如何获取
我的 strace 给我这个输出 fcntl64(3, 0xe /* F_??? */, 0xff963a24) = 0 我希望看到类似的东西,在那里我可以看到 readalbe 内容而不是地址...
我有一个启动 libmicrohttpd 网络服务器(它管理自己的线程)的程序,然后在主线程中调用“暂停”,这样整个程序就不会退出。 我正在尝试对这个程序进行 strace,但是一旦我进入“暂停”调用
我想在后台运行 strace。例如,我在跑 strace -esetsid setsid sleep 123 但我想继续运行其他东西,直到 setsid 返回。显然,只需将 & 附加到 sleep 1
我有一个作为守护进程运行的 perl 脚本。它每 10 秒访问一次数据库,如果队列中有任何作业,它会生成一个单独的 shell 来执行单个作业。但脚本经常无法从数据库获取作业。 理想情况下应该像这
我知道它使用 ptrace 来实现, 它可以在寄存器中获取参数, 但他们只是数字, strace如何将它们转换成文字信息? 它只是针对每个系统调用的硬编码吗? 最佳答案 基本上,是的,它是硬编码的。如
我正在编写一个 python 程序,通过使用 ctypes 的挂载系统调用来挂载 fuse 文件系统。现在它在挂载系统调用中给出无效参数错误。我检查了所有的论点,它们似乎是正确的。我听 friend
尝试调试不返回 bash 提示符的程序,我使用了 strace并给它 PID。该程序是一个二进制文件,我没有源代码。根据strace , 有一个 -1 EBADF (Bad file descript
我正在尝试调试应用程序的启动。我想使用 strace 来跟踪应用程序在启动期间执行的系统调用,但是一旦应用程序启动,我不希望 strace 但是很难追踪到应用程序的启动。 有没有办法捕获应用程序启动的
我是一名优秀的程序员,十分优秀!