腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如何将
进程
执行
记录
为
汇编
指令
?
、
、
、
、
我正在写一个x86-64解释器,作为调试和测试我的程序的一种方法,我需要将这个过程
记录
为
汇编
指令
列表,最好使用at&t语法,也要忽略动态库函数调用。并且还
记录
cpu寄存器 你知道有什么工具可以帮助你。我尝试使用gdb record save ...命令,但与源程序相比,输出文件非常大 int main() {} 文件反
汇编
后,
指令
地址有误。
浏览 20
提问于2020-10-11
得票数 1
6
回答
系统调用是如何工作的?
、
、
、
、
我理解用户可以拥有一个
进程
,并且每个
进程
都有一个地址空间(其中包含有效的内存位置,该
进程
可以引用)。我知道
进程
可以调用系统调用并将参数传递给它,就像任何其他库函数一样。这似乎表明,通过共享内存等方式,所有系统调用都在
进程
地址空间中。但是,这可能只是一种错觉,因为在高级编程语言中,当
进程
调用系统调用时,系统调用看起来像任何其他函数。它可能会将
进程
提供的系统调用名称和参数放入堆栈中,然后将
汇编
指令
放入“陷阱”之类的地方--基本上就是调用软
浏览 1
提问于2011-06-05
得票数 42
回答已采纳
2
回答
至于CPU调度或中断,CPU是否会完成其当前
指令
的
执行
?
、
正如我们所知道的,像C++中的"counter++“这样的高级语言
指令
会被翻译成几条
汇编
语言
指令
。 我的问题是,单一的
汇编
语言
指令
如何?一些
汇编
语言
指令
也会被翻译成硬件可以直接读取的几条机器
指令
,这是真的吗?如果是肯定的,当线程/
进程
调度发生时,上下文切换(或调度过程中需要做的其他事情)是否真的会在CPU完成其当前机器
指令
的
执行
后立即发生,即使还有几条
指令
与当前
浏览 2
提问于2011-04-21
得票数 5
回答已采纳
1
回答
动态监控rdtsc的性能
、
、
、
、
有没有办法使用perf“实时”动态地监控
汇编
指令
?我已经看到,如果我使用perf record /perf top,然后点击所
记录
的函数,我可以看到
汇编
指令
,但我是否可以直接监控特定的
汇编
指令
,例如,rdtsc或clflush,例如,在特定时间段内使用perf的
进程
调用它们的频率?
浏览 18
提问于2018-11-20
得票数 0
1
回答
从VirtualBox VM中的gdb
记录
中提取
执行
日志
、
、
、
我正在尝试使用gdb的
记录
特性来生成为
执行
的
指令
列表我想我要做的是的“
记录
指令
-历史”。从
记录
的
执行
日志中反
汇编
指令
。 当你的目标是“
记录
完整”时,你不能这样做。试图将
记录
目标设置
为
btra
浏览 2
提问于2013-06-07
得票数 8
回答已采纳
2
回答
一条
汇编
指令
单步
执行
一个过程
、
、
、
、
当您使用ptrace
执行
单步操作时,该
进程
是
执行
一行代码,还是
执行
一行
汇编
。如果是前一种情况,有没有办法在linux中只通过一条处理器
指令
单步
执行
一个
进程
?我的意思是在内核中这样做,但是GDB源代码有点大,很难准确跟踪它在做什么,它是ASM单步
执行
的。我想单步
执行
一个
进程
,只是我不确定ptrace单步的确切行为是什么(只有一条
指令
还是多条
指令
?)
浏览 0
提问于2011-09-28
得票数 0
回答已采纳
1
回答
在MIPS架构中,有没有办法在一行代码中将三个寄存器加在一起?
、
、
、
、
很明显,大多数add
指令
的语法是add $t0,$t1,$t2;它会将t1和t2相加,并将其存储在t0中。然而,有没有可能将三个寄存器加在一起,并在一行代码中存储它?
浏览 2
提问于2020-04-21
得票数 0
1
回答
在这段代码中,ori
指令
的重要性是什么?
、
我不太清楚ori
指令
到底在做什么。 一旦循环结束,它就结束了,那么为什么它是重要的呢?
浏览 3
提问于2016-02-23
得票数 0
回答已采纳
1
回答
读取eax寄存器
、
、
我想知道是否可以在
执行
汇编
指令
后立即读取另一个
进程
的eax寄存器。在我的例子中,我有以下
汇编
代码:call dword ptr ds:[<&MSVCR100.??2@YAPAXI@Z>]其思想是在
执行
"call dword ptr ds:<&MSVCR100.??2@YAPAXI@Z>“
指令
之后立即获取eax值。实际上,我必须在我的C++代码中检索
浏览 3
提问于2013-05-11
得票数 1
回答已采纳
1
回答
使用ptrace进行系统调用,但不插入文本
、
从跟踪器进行系统调用的最佳方式是什么,这样系统调用就像被tracee调用一样被
执行
?我更喜欢这样做,而不是写到tracee的文本页面。如果tracee
进程
是动态可
执行
文件,则可以保证动态链接器具有用于系统调用的
指令
。跟踪程序可以找到它,并将
指令
指针设置
为
它。实际上,静态可
执行
文件会在文本中的某处包含该
指令
。如果最好的方法是将系统调用
指令
写入文本,PTRACE_POKETEXT是否会自动将目标页更改为可写?如果没有,我们就有了鸡和蛋的问
浏览 0
提问于2013-12-21
得票数 3
1
回答
GDB
记录
进程
不支持ARM上的ioctl请求
、
GDB被配置
为
“arm-linux-gnueabihf”,并使用静态链接库构建。它在黑板上工作得很好,但在“录制和重放模式”下。您知道如何在ARM架构上运行
进程
记录
和回放,就像我通常在x86机器上所做的那样吗?
浏览 1
提问于2016-11-16
得票数 1
1
回答
在64位Linux中,是否可以在同一可
执行
文件中同时使用64位和32位
指令
?
、
、
、
、
64位中央处理器(amd64)在兼容模式下支持32位英特尔
指令
。此外,64位Linux安装允许运行包含32位
指令
的ELF,前提是ELF标头表明它是32位可
执行
文件。我想知道是否有可能在ELF中放一些
汇编
指令
,它在程序中间将CPU切换到32位兼容模式(然后再回来)?如果内核不允许这些
汇编
指令
,我们有没有办法让内核将已经在运行的
进程
切换到32位?
浏览 14
提问于2018-02-19
得票数 10
回答已采纳
3
回答
CPU如何知道哪个物理地址被映射到哪个虚拟地址?
、
、
、
根据我的理解,每个
进程
通过虚拟地址而不是物理地址访问内存,CPU有责任通过MMU单元将这些虚拟地址转换为物理地址,两个或多个
进程
可以具有相同的虚拟地址。假设
进程
A试图访问虚拟地址12345,
进程
B也试图访问虚拟地址12345。MMU将
如何将
每个
进程
的虚拟地址转换为物理地址,它是否
为
每个将虚拟地址映射
为
物理地址的
进程
设置了映射表(因为我认为CPU甚至不知道什么是“
进程
”,它的唯一责任是
执行
指令
浏览 0
提问于2017-05-12
得票数 6
回答已采纳
1
回答
callq命令参数的含义是什么?
、
、
、
、
我知道callq
指令
是做什么的;它是用描述的。
指令
应该有一个参数,它应该是被调用函数的地址。但是,在分解对象文件时,我看到下面一行显示了一个callq
指令
,其中包含两个值,而不是一个参数: 1e: e8 00 00 00 00 callq 23 <main+0x1923和main+0x19两个值在callq
指令
的反
汇编
中的含义是什么?
浏览 1
提问于2019-05-14
得票数 3
回答已采纳
1
回答
x86程序集与Windows程序集有何不同,这是否让我绕过Windows程序集?
据我所知,
汇编
语言只是硬件
指令
操作码的一种符号表示,硬件制造商根据他们设计电子产品的方式提供/
记录
了这些代码。 现在,我在另一个职位中看到了"Windows“这个术语。
浏览 0
提问于2019-03-16
得票数 2
回答已采纳
2
回答
将i386操作码解码
为
指令
、
、
大多数网站都在谈论如何对
指令
进行编码,但我在任何地方都找不到关于
如何将
操作码解码到
指令
的东西。感谢并致以问候 莫拉利
浏览 0
提问于2011-08-04
得票数 3
2
回答
使用Keil的µVision在C/C++代码中访问Cortex-M3的MSP和PSP寄存器
、
我需要访问Cortex-M3处理器的MSP和PSP寄存器(主寄存器和
进程
堆栈寄存器)。谢谢,
浏览 0
提问于2010-06-01
得票数 4
回答已采纳
6
回答
差异: Opcode,字节码,助记符,机器代码和程序集
以下是我的发现:
汇编
语言中的
指令
(语句)通常非常简单,与高级编程语言不同.通常,助记符是单个可
执行
机器语言
指令
(操作码)的符号名,并且至少
为
每个机器语言
指令
定义了一个操作码助记符。每条
指令
通常由一个操作或操作码
浏览 7
提问于2013-07-14
得票数 37
回答已采纳
1
回答
为什么DCPU-16
指令
的二进制表示法中有一个前导1
、
、
、
我目前正在摆弄DCPU-16
汇编
程序(参见和)。SET B, 0x0002DCPU-16的
指令
格式
为
因此在手动转换
指令
时,我会这样做: B == 0x01 == 0b000001
浏览 2
提问于2012-04-13
得票数 2
回答已采纳
5
回答
通过十六进制表示的.DLL跟踪程序
执行
、
、
、
有没有办法通过十六进制的DLL代码跟踪程序的
执行
?谢谢!
浏览 0
提问于2010-06-29
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
编程-函数栈与进程栈
初识C语言之第一篇 编译过程,那些你不知道的知识点!
初识C语言编程,编译过程
计算机系统漫游
汇编语言入门
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券