匿名
未登录
登录
百问网嵌入式Linux wiki
搜索
查看“Ltrace”的源代码
来自百问网嵌入式Linux wiki
名字空间
页面
讨论
更多
更多
页面选项
Read
查看源代码
历史
←
Ltrace
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
=Ltrace= ==文章目的== : 本文提供了开始使用Linux工具所需的基本信息:ltrace [1 ]。 ==简介== : 下表简要介绍了该工具及其可用性,具体取决于软件包: * 是:该工具已经存在(可以使用或激活),也可以在软件包中集成和激活。 * 没有:该工具不存在且无法集成,或者存在但无法在软件包中激活。 {| class="wikitable" !colspan="3" | 工具 |- | 名称 | 类别 | 目的 |- |ltrace |追踪工具 |ltrace [1 ]用于显示对用户空间应用程序进行的共享库的调用。ltrace是一个用户空间应用程序。它的用法与[https://wiki.st.com/stm32mpu/wiki/Strace strace] 非常相似。 |- !colspan="3" | STM32MPU嵌入式软件发行版 |- | 入门资料包 | 开发者资料包 | 发行版资料包 |- |没有 |没有 |是 |- !colspan="3" | 适用于 Android 的STM32MPU嵌入式软件发行版 |- | 入门资料包 | 开发者资料包 | 发行版资料包 |- |没有 |没有 |没有 |} ==在目标板上安装跟踪和调试工具== ===使用STM32MPU嵌入式软件发行版=== : {{redtex|ltrace 不是标准STM32MPU嵌入式软件分发镜像的一部分。}} ====分发包==== : 要将 ltrace 合入到你的分发包镜像版本中,请按照以下步骤进行操作: :: 添加ltrace软件包以构建镜像 <syntaxhighlight lang="bash"> PC $> cd <your_Distribution_Package_root_dir> PC $> echo 'IMAGE_INSTALL_append += "ltrace"' >> layers/meta-st/meta-st-openstlinux/recipes-st/images/st-image-weston.bbappend </syntaxhighlight> :: 重建完整的镜像 <syntaxhighlight lang="bash"> PC $> bitbake <full_image_name> # Needed to include ltrace into the final image rootfs </syntaxhighlight> :: 在板上重新加载新镜像:请参见[https://wiki.st.com/stm32mpu/wiki/STM32MP1_Distribution_Package#Flashing_the_built_image 刷新生成的镜像] ==使用入门== : 要使用ltrace,有两种主要方式: :: 1、提供你要为其列出动态库调用的程序的名称作为参数,并在需要时为其提供参数作为参数运行: <syntaxhighlight lang="bash"> Board $> ltrace <Program> [ARGS] </syntaxhighlight> ::: 例如: <syntaxhighlight lang="bash"> Board $> ltrace weston-simple-egl __libc_start_main(0x11a90, 1, 0xbec45d04, 0x131f0 <unfinished ...> memset(0xbec456f8, 0, 72, 0x11a90) = 0xbec456f8 memset(0xbec45754, 0, 68, 0xbec45740) = 0xbec45754 wl_display_connect(0, 250, 32, 0xbec45750) = 0x26150 wl_proxy_marshal_constructor(0x26150, 1, 0x24e90, 0) = 0x2a268 wl_proxy_add_listener(0x2a268, 0x132e0, 0xbec456f8, 0) = 0 wl_display_roundtrip(0x26150, 0x132e0, 0xbec456f8, 0 <unfinished ...> strcmp(0x2a404, 0x133e8, 1, 0x2a404) = 0 wl_proxy_marshal_constructor_versioned(0x2a268, 0, 0x24ed8, 1) = 0x2b070 strcmp(0x2a49c, 0x133e8, 2, 0x2a49c) = 16 strcmp(0x2a49c, 0x133f8, 115, 0x635f6c77) = -3 ... </syntaxhighlight> :: 2、给出要研究的过程的 <PID> 作为参数: <syntaxhighlight lang="bash"> Board $> ltrace -p <PID> </syntaxhighlight> ::: {{redtext|注意:}}<PID>{{redtext|值可以由}}`pidof <process_name>`{{redtext|代替}} ::: 例如: <syntaxhighlight lang="bash"> Board $> weston-simple-egl & ltrace -p `pidof weston-simple-egl` has EGL_EXT_buffer_age and EGL_EXT_swap_buffers_with_damage glGetShaderiv(1, 0x8b81, 0xbee14260, 0) = 0 glCreateShader(0x8b31, 0x8b31, 256, 1) = 2 glShaderSource(2, 1, 0xbee1425c, 0) = 0x1a96f0 glCompileShader(2, 0, 154, 0xbee14260) = 1 glGetShaderiv(2, 0x8b81, 0xbee14260, 0) = 0 glCreateProgram(2, 2, 256, 1) = 3 glAttachShader(3, 1, -1, 1) = 0 glAttachShader(3, 2, 0x8b30, 1) = 0 glLinkProgram(3, 0x8dd9, 0x8b31, 1) = 0x285234 glGetProgramiv(3, 0x8b82, 0xbee14698, 0) = 0 glUseProgram(3, 3, 256, 1) = 1 glBindAttribLocation(3, 0, 0x13884, 1) = 1 glBindAttribLocation(3, 1, 0x13888, 0) = 1 glLinkProgram(3, 0x1388e, 0, 0x1b9090) = 1 ... Board $> killall weston-simple-egl </syntaxhighlight> ==深入学习== : 可以设置其他选项。有关详细信息,请参见手册页[2 ]。 ==参考== : 1. [https://www.ltrace.org/ https://www.ltrace.org/] : 2. [http://man7.org/linux/man-pages/man1/ltrace.1.html http://man7.org/linux/man-pages/man1/ltrace.1.html] *有用的外部链接 {| class="wikitable" |- ! 文件链接 !! 文件类型 !! 描述 |- | ltrace linux.die.net || 标准 || linux.die.net |- | ltrace wikipedia.org || 标准 || wikipedia.org |- | ltrace教程 || 用户指南 || go4expert.com |- | 跟踪培训 || 训练 || ellexus.com |} [[Category:Linux_Operating_System]] [[Category:Linux_tracing_tools]]
该页面使用的模板:
模板:Redtex
(
查看源代码
)
模板:Redtext
(
查看源代码
)
返回至
Ltrace
。
导航
导航
WIKI首页
官方店铺
资料下载
交流社区
所有页面
所有产品
MPU-Linux开发板
MCU-单片机开发板
Linux开发系列视频
单片机开发系列视频
所有模块配件
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志