当前位置: 首页 > news >正文

做网站为什么要钱竣工验收备案查询

做网站为什么要钱,竣工验收备案查询,网站建设中404什么意思,下载中国建设银行appPlatform: RK3368 OS: Android 6.0 Kernel: 3.10.0 文章目录 一 gdb1. 原生程序添加调试符号2. 主机上adb push 编译好的原生程序到设备3. 设备上使用gdbserver运行原生程序4. 主机上设置adb端口转发5. 主机上运行gdb调试 二 addr2line三 readelf 一 gdb GDB(GNU…

Platform: RK3368

OS: Android 6.0

Kernel: 3.10.0


文章目录

  • 一 gdb
    • 1. 原生程序添加调试符号
    • 2. 主机上adb push 编译好的原生程序到设备
    • 3. 设备上使用gdbserver运行原生程序
    • 4. 主机上设置adb端口转发
    • 5. 主机上运行gdb调试
  • 二 addr2line
  • 三 readelf

一 gdb

GDB(GNU Debugger)是GNU项目调试器,是一种强大的程序调试工具,可以用于调试C、C++、Fortran等多种编程语言编写的程序。它允许程序员在程序运行时监视程序的内部状态和程序的控制流程。

1. 原生程序添加调试符号

在原生程序的Android.mk中添加以下内容:

# 添加调试符号  
LOCAL_CFLAGS += -g -O0  # 不剥离符号  
LOCAL_STRIP_MODULE := false  

2. 主机上adb push 编译好的原生程序到设备

$ adb push out/target/product/$YOUR_DEVICE/system/bin/$YOUR_NATIVE_PROCESS

3. 设备上使用gdbserver运行原生程序

$ gdbserver :9090 /system/bin/$YOUR_NATIVE_PROCESS

4. 主机上设置adb端口转发

表示将本地9090端口转发到设备9090端口:

$ adb forward tcp:9090 tcp:9090

5. 主机上运行gdb调试

$ gdb out/target/product/$YOUR_DEVICE/system/bin/$YOUR_NATIVE_PROCESS
GNU gdb (Ubuntu 15.0.50.20240403-0ubuntu1) 15.0.50.20240403-git
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:<http://www.gnu.org/software/gdb/documentation/>.For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from out/target/product/***/system/bin/****...
(gdb) target remote :9090
Remote debugging using :9090
warning: while parsing target description (at line 1): Target description specified unknown architecture "arm"
warning: Could not load XML target description; ignoring
Reading /system/bin/linker64 from remote target...
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
0x00000000 in ?? ()

二 addr2line

addr2line用于将程序的地址(例如,崩溃报告中提供的地址)转换为文件名和行号。这对于调试和定位程序中的错误非常有用,尤其是在处理崩溃或异常行为时。

一般在Android源码中source build/envsetup.sh和lunch以后, 就会有很多工具可以直接使用了, 例如:

$ arm-linux-androideabi-addr2line -f -e $YOUR_NATIVE_PROCESS

如果是64位程序需要使用aarch64下面的工具链, 否则会出现"File format not recognized"

$ /prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-addr2line -e $YOUR_NATIVE_PROCESS

三 readelf

readelf是一个在Unix和类Unix系统上用于查看ELF(Executable and Linkable Format)文件信息的命令行工具。readelf能够显示ELF文件的各种信息,包括但不限于:

  • 文件头:描述ELF文件的总体信息,包括系统相关、类型相关、加载相关和链接相关等。
  • 程序头:包含程序执行时所需的各种段(segment)的信息。
  • 节头:描述ELF文件中各个节(section)的信息,节是ELF文件的基本组成部分。
  • 符号表:包含程序中定义的符号和引用的外部符号的信息。
    此外,readelf还支持查看动态节、调试信息、版本信息等。

例如查看符号表信息:

$ arm-linux-androideabi-readelf -s $YOUR_NATIVE_PROCESS
http://www.15wanjia.com/news/187540.html

相关文章:

  • 在线建设房屋设计网站怎样买网站建设
  • 网站设计与编辑中国零售业博览会
  • 学院网站建设报价社联网站建设的目的
  • 信托公司网站建设软件开发工程师面试问题
  • 商务网站建设论文总结如何免费开网店
  • 网站建设营销策划书软文营销范文100字
  • 网站设计的公司蒙特怎么做网站结构拓扑图
  • 优秀设计工作室网站做网站策划一个专利的主题宣传
  • 网站速度提升北京优化seo
  • asp艺术学校网站源码英德网站seo
  • 织梦网站怎么更换模板全免费自助建站
  • 可以做h5的网站WordPress指定用户组可见
  • 更改网站模板内容青岛网站厉害的公司
  • 北京印刷厂凤山网站seo
  • 做寻亲网站的理由沈阳电商网站建设
  • 主流的网站开发框架国外wordpress主题优化
  • 在东莞建公司网站公众号文章 wordpress
  • 销售平台网站建设方案镇海阿里巴巴关键词优化
  • 南昌网站做上海市建设工程造价信息网官网
  • 哈尔滨做网站设计单页网站制作工具
  • html网站二维码悬浮怎么做网站维护的内容和步骤
  • 网站建设和运营wordpress变装小说
  • 提示该域名为lp网站施工企业岗前培训内容记录
  • 做牙科设计的网站做网站的积木式编程
  • 高明做网站服装定制流程
  • 中国建设银行网站解绑手机wordpress中文免费
  • 丽水企业网站建设宁波企业网站建设
  • 新网站多久会被百度收录云平台开发
  • 企业网站开发公司有哪些网站建设主题有哪些注意事项
  • 长沙 做网站做网站运营需要什么证