无法访问内存-gdb

2024-06-28

这是我的disas代码:

Dump of assembler code for function main:
0x00000000000006b0 <+0>:    push   %rbp
0x00000000000006b1 <+1>:    mov    %rsp,%rbp
0x00000000000006b4 <+4>:    sub    $0x10,%rsp
0x00000000000006b8 <+8>:    movl   $0xa,-0xc(%rbp)
0x00000000000006bf <+15>:   lea    -0xc(%rbp),%rax
0x00000000000006c3 <+19>:   mov    %rax,-0x8(%rbp)
0x00000000000006c7 <+23>:   lea    0x96(%rip),%rdi        # 0x764
0x00000000000006ce <+30>:   mov    $0x0,%eax
0x00000000000006d3 <+35>:   callq  0x560 <printf@plt>
0x00000000000006d8 <+40>:   mov    $0x0,%eax
0x00000000000006dd <+45>:   leaveq 
0x00000000000006de <+46>:   retq 

当我通过 b *0x00000000000006b4 在 0x06b4 设置断点并运行代码时,出现错误Starting program: /root/print.out Warning: Cannot insert breakpoint 4. Cannot access memory at address 0x6b4 但是当我这样做时b 4并运行代码,工作正常。那么在第一种情况下我做错了什么。


Dump of assembler code for function main: 0x00000000000006b0 <+0>: push %rbp 0x00000000000006b1 <+1>: mov %rsp,%rbp

你正在看位置无关的可执行文件 https://en.wikipedia.org/wiki/Position-independent_code(一种特殊的共享库)。代码为main gets 搬迁当可执行文件开始运行时到不同的地址。

因为没有代码0x6b4一旦可执行文件被重新定位,GDB 就会抱怨它无法在那里设置断点。

但是当我用 b 4 执行此操作并运行代码时,它工作正常。

在这种情况下,GDB 知道您要在第 4 行设置断点,并插入适当的断点after可执行文件已被重新定位。

Use info break查看搬迁地址是什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法访问内存-gdb 的相关文章

  • 什么可能导致 sock send() 命令上的“资源暂时不可用”

    什么会导致Resource temporarily unavailable套接字上的错误send 命令 套接字设置为AF UNIX SOCK STREAM 它在大多数情况下都有效 但偶尔会出现此错误 套接字的接收端似乎工作正常 我知道这不是
  • pop() 期间提升 Fibonacci 堆访问冲突

    Context 我目前正在实现某种形式的 A 算法 我决定使用 boost 的斐波那契堆作为底层优先级队列 我的图表是在算法运行时构建的 作为我使用的顶点对象 class Vertex public Vertex double double
  • 可以作为参数传递给 POST 方法的对象的最大大小

    我有一个带有 POST 方法的 Web API 控制器 如下所示 public class MyController ApiController POST api Scoring public HttpResponseMessage Pos
  • 共享库 C++ Makefile

    我需要编译胖二进制文件才能在另一台 Linux 机器上使用它 但缺少一些库 因此据我了解 我应该使用一些 shared 选项来编译它 但我不明白如何为此配置 Makefile 目前我的 makefile 如下所示 CC g CC FLAGS
  • 如何正确使用memcpy?

    我有一个mainbuf bufsize 最初为空 我正在阅读一些输入 read fd otherbuf sizeof otherbuf 分配给不同的字符串otherbuf 每次我分配一个新字符串给otherbuf我想将其附加到mainbuf
  • 如何使用 lstat() 确定是否为硬链接

    我的操作系统是linux 我用 C 编程 我知道我可以使用 lstat 来识别软链接 即使用 S ISLNK st st mode 但我如何识别该链接是硬链接呢 如果链接是硬链接 它将被视为常规文件 但是 我还想区分常规文件和硬链接 有什么
  • 在 C 中使用模板函数的最短示例?

    我如何处理函数echo tpl可以采取1类型参数int or string 然后打印出来 C没有模板 我认为你能做的最好的事情就是使用联合或让函数具有不同的名称 后一种具有不同名称的方法是准标准方法 例如fabs fabsf fabsl a
  • main() 是用户定义函数吗? [复制]

    这个问题在这里已经有答案了 程序员does定义内部发生的事情main 毕竟 那么 它应该被视为用户定义的函数吗 C 标准没有用户定义函数的概念 相反 它有一个概念库函数 main 不是库函数 但是 该标准还对其签名提出了一些要求 并且不得重
  • 带和不带指针声明符的 C++11 自动声明

    不同类型有什么区别bar1 and bar2 int foo 10 auto bar1 foo auto bar2 foo If both bar1 and bar2 are int 编写指针声明符是否有意义 在里面bar2宣言 这些声明完
  • StreamReader 的默认值是多少?

    我需要使用这个构造函数public StreamReader Stream stream Encoding encoding bool detectEncodingFromByteOrderMarks int bufferSize bool
  • 开始学习 C# 的最佳方式是什么?

    我对 vb 6 有一点编程经验 而 vb net 则不多 请告诉我成为专家 C 程序员的最佳方法 我知道这需要很长时间 想想你如何学习人类语言 阅读 写作 口语和听力 阅读代码 阅读文章 阅读示例 当您更有经验时 请查看您使用的一些项目的源
  • 对双向链表进行排序 C++

    尝试通过遍历列表的循环来完成此操作 在循环中 我将头节点输入到我定义的排序函数中 然后使用 strcmp 来确定节点中的哪个名称是否应该排在前面 它不起作用 因为写得太早了 我通过一次沿着列表一个节点进行线性比较 而不是回去查看第一个节点是
  • 查询 XmlDocument 而不会出现“命名空间前缀未定义”问题

    我有一个 Xml 文档 它定义并引用了一些命名空间 我将其加载到 XmlDocument 对象中 据我所知 我创建了一个 XmlNamespaceManager 对象 用于查询 Xpath 问题是我收到命名空间 my 未定义的 XPath
  • 在 Linux 上用 C 跟踪键盘和鼠标事件

    如何在 Linux 中用 C 语言跟踪键盘或鼠标事件 Like for example if the user presses ESC Shift etc I should be able to track it Same way for
  • C# 中的任意精度小数?

    是否存在任意精度decimal类可用于 C 吗 我见过几个任意精度整数类 但这并不完全相同 您可以使用 J 库java math BigDecimal类 如果已安装 只需添加一个引用即可vjslib me remembers one of
  • Doxygen 支持 C++11 模板别名(“using”语法)吗?

    我正在使用 doxygen 1 7 1 为一些 C 11 代码生成文档 它似乎忽略了我的模板别名 为了清楚起见 下面是模板别名的示例 template
  • 传递给 WCF 服务的可选查询字符串参数

    我想知道如何使用 string limit WebOperationContext Current IncomingRequest UriTemplateMatch QueryParameters Limit 在我的wcf中这个方法 Cit
  • 着色器可以旋转形状以面向相机吗?

    我制作了一个球出现在 3D 空间中的场景 三角球耗费大量资源 所以我使用带有球纹理的二维表面 四边形 来完成此操作 但现在我需要在每次相机移动时调整形状的方向 我使用位置变换和 LookAt 方法来完成此操作 问题是我可以优化这个吗 如果可
  • 在字典和集合上自动添加索引器是一个好的设计决策吗?

    索引器何时可以自动将项目添加到集合 字典中 这是合理的还是违反最佳实践的 public class I snip public class D Dictionary
  • 用于 DSP 的快速 2D 卷积

    我想实现一些图像处理算法 这些算法旨在运行在小猎犬板 http en wikipedia org wiki Beagle Board 这些算法广泛使用卷积 我正在尝试为 2D 卷积找到一个好的 C 实现 可能使用快速傅里叶变换 我还希望该算

随机推荐

  • 如何在 Django 中创建/使用自定义数据库函数

    序幕 这是SO中经常出现的一个问题 Django GEOS 中 PostGIS ST MakeValid 的等效项 https stackoverflow com questions 45631855 equivalent of postg
  • 用于动态实时事件的 Tipsy jquery 插件无法正常工作

    我在用着醉酒的 jquery 插件 http onehackoranother com projects jquery tipsy 为动态显示的元素创建工具提示 工具提示适用于非动态元素 因此我肯定包含了我需要的所有内容 我正在使用 jqu
  • 如何访问其他apk的assets文件夹下的文件?

    当我们浏览任何apk时 我们发现有一个名为assets的文件夹 现在我想以编程方式访问该文件夹 那么我应该如何进行呢 程序的输入将是 apk 文件 只是应用程序名称 这将列出资产文件夹中的所有文件 AssetManager assetMan
  • 如何在 Ruby on Rails 的 Ubuntu 服务器上以生产模式重新启动 Phusion Passenger + Apache?

    我有 Apache phusion 乘客 我已经把 RailsEnv production 在 etc apache2 sites available default 文件中并已重新启动 apache 但当我运行时 rails c gt R
  • PHP CLI 有几秒钟的延迟

    当我在 CLI 模式下运行 PHP 时 CentOS 6 5 下的 PHP 5 6 6 使用 VirtualBox 作为虚拟机运行 即使我只检查版本并且禁用 php ini 文件 也会有几秒钟的延迟 time php n v PHP 5 6
  • 字符串常量池与字符串池

    我对这两件事感到困惑 我需要帮助 请澄清我的疑问 字符串常量池和字符串池是否是同一个概念 我面试的时候就面临这个问题 我已经阅读了很多网站和博客 但是我的疑问还没有消除 请消除我的疑问 提前致谢 两者是同一件事 字符串常量池包含consta
  • Sitecore 搜索谓词生成器多关键字搜索与提升无法按预期工作

    我有包含以下字段的 sitecore 页面 lucene 文档 Title Filename Content 文件内容 我正在创建这些搜索并有以下要求 包含整个短语的点击title应首先返回字段 包含整个短语的点击filename字段应该其
  • 是否有任何 JavaScript 缩小器可以保留换行符?

    来自客户端的错误报告总是在第 1 行报告错误 因为文件已缩小 这不是很有用 我想在保留换行符的同时缩小代码 以便获得有意义的行号 有没有JavaScript缩小器 https en wikipedia org wiki Minificati
  • 注入的类名编译器差异

    考虑这段代码 struct foo int main foo foo a 我希望这是格式良好的 声明类型的变量foo根据 class 2 中的规则 N4140 重点是我的 A 班级名称被插入到紧随其声明之后的作用域中班级名称被看到 The
  • 如何对 SwiftyJSON JSON 对象进行子集化

    我正在构建一个 iOS 应用程序 其中我的一个 API 调用返回一个大型 JSON blob 我使用 SwiftyJSON 将其加载到 JSON 对象中 例如 它看起来像这样 data name object name id 1 descr
  • 在JQuery中获取上个月的第一个和最后一个日期

    我有这个脚本 var today new Date var dd today getDate var ddd today getDate 1 var dddd today getDate 2 var mm today getMonth 1
  • 调试时无法评估表达式

    当调试 asp net 代码 针对 IIS 运行并使用 Visual Studio 2013 并在断点中并尝试使用快速监视评估变量时 我经常遇到 无法评估表达式 的情况 从 asp net 项目文件夹中删除 suo 似乎可以解决问题 重新加
  • asp.net linkbutton onclientclick 和 postback

    当我将 ASP NET LinkBut ton 与 OnClientClick 属性一起使用时 我遇到了一些奇怪的行为 ASPX
  • 阅读共享偏好

    我正在为我的 Android 应用程序的设置菜单使用共享首选项 它工作得很好 但我不知道如何在我的代码中使用这些设置 例如 如何使用所选语言并在另一个活动中使用它
  • 使用张量流 tf-transform 进行数据标准化

    我正在使用 Tensorflow 对我自己的数据集进行神经网络预测 我做的第一个模型是与我计算机中的小数据集一起使用的模型 之后 我稍微更改了代码 以便使用具有更大数据集的 Google Cloud ML Engine 在 ML Engin
  • 使用 Auth0、withAuthenticationRequired 登录不会显示在 Gatsby 中

    我将 Gatsby 与 auth0 一起使用 当我用withAuthenticationRequired 然后我得到一个空白页 上面写着 重定向 import as React from react import withAuthentic
  • Python:pip 找不到 setup.py

    我怎样才能直接pip找到setup py My setup py文件位于 setuptools 3 5 1 I ran dustin dustin python setuptools 3 5 1 setup py egg info runn
  • 以编程方式添加超链接到列表项

    我想以编程方式获得以下 HTML ul li a href a li ul 我可以添加 li to ul But a to li 不可能 My code BulletedList ul new BulletedList ListItem l
  • React Table - useRowSelect 的单选输入

    如何在 React Table 中使用单选输入而不是复选框作为可选表 有一个复选框但没有单选按钮的示例 https github com tannerlinsley react table blob master examples row
  • 无法访问内存-gdb

    这是我的disas代码 Dump of assembler code for function main 0x00000000000006b0 lt 0 gt push rbp 0x00000000000006b1 lt 1 gt mov