linux – 如何制作字符串参数的strace打印地址而不仅仅是它们的值?

linux – 如何制作字符串参数的strace打印地址而不仅仅是它们的值?,第1张

概述我正在尝试使用strace来理解二进制程序如何使用内存. 但是,为了更加用户友好,strace的默认输出会打印任何char *缓冲区作为相应的字符串. read(3, "Tell me, Muse, of that man of ma"..., 4096) = 270 有没有办法告诉strace打印其内容旁边的字符串的实际地址? 如果不可能同时打印两者,则只打印字符串的地址而不是截断的内容也可以. 我正在尝试使用strace来理解二进制程序如何使用内存.

但是,为了更加用户友好,strace的默认输出会打印任何char *缓冲区作为相应的字符串.

read(3,"Tell me,Muse,of that man of ma"...,4096) = 270

有没有办法告诉strace打印其内容旁边的字符串的实际地址?

如果不可能同时打印两者,则只打印字符串的地址而不是截断的内容也可以.

解决方法 您可以下载 the source of strace并将所有这些tprintf(“%s”,…)修改为tprintf(“%p”,…),并构建strace的本地副本. 总结

以上是内存溢出为你收集整理的linux – 如何制作字符串参数的strace打印地址而不仅仅是它们的值?全部内容,希望文章能够帮你解决linux – 如何制作字符串参数的strace打印地址而不仅仅是它们的值?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1028852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存