腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
使用
ASM
和
javaagent
收集
方法
参数
时
出现
"
VerifyError
:
从未
初始化
的
寄存器
访问
值
“
java
、
jvm
、
instrumentation
、
java-bytecode-asm
、
javaagents
当输入一个
方法
时
,我想记录该
方法
的
所有
参数
。由于
ASM
可能很难调试,因此我编写了一些演示代码(
使用
@apangin
的
收集
器类)并测试其有效性。但是,当我
使用
以下代码
时
,它会报告java.lang.
VerifyError
: (class: com/D, method: add signature: (II)I) Accessing value我认为当创建一个框架
时<
浏览 71
提问于2020-07-21
得票数 1
回答已采纳
1
回答
GCC扩展了
Asm
-理解敲击器
和
划痕注册
使用
gcc
、
assembly
、
inline-assembly
从GCC有关
的
文档中,我发现很难理解以下解释
和
示例: 这里是一个虚构
的
平方指令
和
,它接受两个指向内存中浮点
值
的
指针,并产生一个浮点
寄存器
输出。注意,x
和
y都
出现
在
asm
参数
中两次,一次用于指定
访问
的
内存,一次用于指定
asm
使用
的
基本
寄存器
。好
的
,第一部分明白了,现在这个句子
浏览 1
提问于2018-03-02
得票数 4
回答已采纳
1
回答
GCC是怎么知道在声明内存重击
时
,需要将
寄存器
刷新到内存中?
gcc
、
assembly
、
memory
扩展
的
Asm
手册对“内存”敲击器做了如下说明: " memory“clobber告诉编译器,程序集代码对输入
和
输出操作数中列出
的
项以外
的
项执行内存读或写操作(例如,
访问
一个输入
参数
所指向
的
内存)。为了确保内存包含正确
的
值
,GCC可能需要在执行
asm
之前将特定
的
寄存器
值
刷新到内存中。此外,编译器不会假设
asm
之前从内存
浏览 1
提问于2019-01-26
得票数 0
回答已采纳
2
回答
“
asm
”中
的
不可能约束:__
asm
__ __volatile__
c
、
compiler-errors
、
inline-assembly
、
mingw32
、
att
我尝试了几天来写了一个非常简单
的
内联汇编程序代码,但是什么也没成功。我有IDE NetBeans
和
编译器MinGW。我
的
最新代码是: unsigned char x, y, z; __
asm
__ __volatile__("\n" "ad
浏览 0
提问于2016-07-20
得票数 0
1
回答
如何避免已经
初始化
的
对象
出现
VerifyError
:“期望在堆栈上找到实例化
的
对象”
java
、
instrumentation
、
java-bytecode-asm
我正在用
ASM
开发一个插装引擎,我需要拦截
方法
的
调用,这些
方法
接收数组类型
的
参数
。我
访问
每个
参数
的
最简单
的
解决方案是调用一个中介
方法
,
使用
与目标
方法
相同
的
描述符,在这个中介中,我可以轻松地
访问
它
的
参数
(对应于传递给目标
方法
的
参数
)。然而,当
浏览 0
提问于2012-11-05
得票数 0
回答已采纳
3
回答
C-读取
和
设置汇编
寄存器
c
、
gcc
、
assembly
、
cpu-registers
我需要能够从我
的
C代码
访问
程序集
寄存器
。是否有一种简单
的
方法
可以将
寄存器
的
值
设置为变量
的
值
,并将
寄存器
的
值
作为变量获取??希望这是有意义
的
。
浏览 0
提问于2015-12-28
得票数 2
回答已采纳
1
回答
简单
的
组装示例:设置输入并获得正确
的
输出语法。
gcc
、
assembly
、
inline-assembly
、
sparc
我尝试做一个简单
的
例子,在C代码中插入Sparc程序集32位;这个小代码对变量"sum“执行增量。'
asm
': operand number out of range第18行似乎与"
asm
volatile ("set sum, %g1\n\t" \ ...它可能来自变量sum,该
浏览 2
提问于2017-05-18
得票数 0
回答已采纳
1
回答
在8051上读取计时器计数器
值
TMRnL
和
TMRnH (C8051F120)
timer
、
microcontroller
、
16-bit
、
8051
我
的
微控制器C8051F120
的
数据表在读取16位
值
PCA0L
和
PCA0H
时
非常清楚:但是,我没有找到关于TMRnL
和
TMRnH
寄存器
的
类似声明。我记得在A
浏览 2
提问于2012-08-26
得票数 1
回答已采纳
2
回答
为什么我不能在C中获得
asm
寄存器
的
值
?
c
、
gcc
、
x86
、
inline-assembly
、
cpu-registers
我正在尝试获取程序集
寄存器
rdi、rsi、rdx、rcx、r8
的
值
,但是我得到了错误
的
值
,所以我不知道我所做
的
是获取这些
值
,还是告诉编译器在这些
寄存器
上写,如果是这样,我如何实现我试图做
的
事情(将程序集
寄存器
的
值
放在当此代码编译
时
(
使用
gcc -S test.c) void beautif
浏览 2
提问于2021-06-06
得票数 10
回答已采纳
1
回答
实现上下文切换-第二个函数不再运行
c++
、
multithreading
、
x86-64
、
inline-assembly
我正在尝试
使用
C++
和
内联汇编(AT&T)在x86-64上实现上下文切换。Print1Print1 我正在为上下文保存
和
堆栈创建内存空间。当保存上下文
时
,堆栈指针
和
基指针将被保存到结构中。之后,堆栈指针将指向上下文内存以推送
寄存器
值
。
浏览 0
提问于2017-07-12
得票数 4
1
回答
为外部调用选择特定
寄存器
c
、
windows
、
assembly
、
x86-64
、
calling-convention
到目前为止,我已经了解到,根据从调用方传递到被调用方
的
参数
的
数量,如果只传递几个
参数
,而不是push / pop操作,则只
使用
一些特定
的
寄存器
。例如,当向交换函数void
asm
_swap(int *x, int *y)传递
参数
时
,C编译器
使用
寄存器
rcx
和
rdx
寄存器
来传递变量
的
地址(在本例中不需要返回
值</
浏览 2
提问于2016-02-22
得票数 0
2
回答
从内核模块读取x86 MSR
linux
、
linux-kernel
、
cpu-registers
、
msr
我
的
主要目标是在程序崩溃
时
获得由LBR
寄存器
维护
的
最后16个分支
的
地址
值
。我试过两种
方法
到现在- 1) msr-tools这允许我从命令行读取MSR
值
。我从C程序本身对它进行系统调用,并尝试读取值。但是
寄存器
值
似乎与程序本身中
的
地址无关。最有可能
的
情况是,
寄存器
受到系统代码中其他分支
的
污染。我尝试关闭环0
和
远跳转中
的</
浏览 5
提问于2012-04-21
得票数 1
2
回答
使用
Delphi内联汇编程序创建类实例
delphi
、
inline-assembly
、
basm
我想做
的
是,
使用
程序集,创建类实例,调用其中一个
方法
,然后释放实例。beginend;
asm
更新Update2 感谢阿诺德
使用
EBX而不是PUSH/POP EAX发现缺陷。
浏览 5
提问于2012-05-16
得票数 5
回答已采纳
1
回答
GCC串联装配副作用
gcc
、
assembly
、
x86
、
inline-assembly
有人能解释一下GCC
的
下一节吗? 这里是一个虚构
的
平方指令
和
,它接受两个指向内存中浮点
值
的
指针,并产生一个浮点
寄存器
输出。注意,x
和
y都
出现
在
asm
参数
中两次,一次用于指定
访问
的
内存,一次用于指定
asm
使用
的
基本
寄存器
。通常情况下,这样做不会浪费一个
寄存器
,因为GCC可以同时
使用<
浏览 4
提问于2017-10-25
得票数 3
回答已采纳
1
回答
Java中
的
内联
ASM
java
、
c
、
assembly
可能需要提供一个
参数
映射,如
asm
( params (params,value,任何其他),“opcode”),并将输出变量直接放置在右内存插槽或
寄存器
中,这些
寄存器
用于填充params调用中
的
变量,通过对这些信息
使用
不安全
的
方法
,我们甚至可以
访问
对象
和
类变量,并导航这些
值
,获取
asm
代码中
使用
的
所有引用
的
地址
和</e
浏览 7
提问于2015-04-06
得票数 0
3
回答
在c++内联程序集中定义变量
c++
、
c
、
assembly
、
visual-c++
、
inline-assembly
假设我们有以下c++代码: mov var1, 2;现在,我想知道
的
是,如果我不想在__
asm
指令之外定义var1,我必须做些什么才能将它放在其中。
浏览 0
提问于2009-09-08
得票数 6
回答已采纳
1
回答
Java JVM在对一个长Scala列表或Stream
的
减()操作中GC‘’ing有多聪明?
java
、
scala
、
stream
、
garbage-collection
、
jvm
Stream中
的
reduce()代码说,它
的
编写方式允许已经
访问
过
的
流
的
GC在减少
的
同时发生。所以如果我能确保这一切真的发生的话,我会没事
的
。但在实践中,我怎样才能确保这种情况发生呢?特别是,如果函数A创建流并将流传递给函数B,而函数B将流传递给函数C,而函数C则调用reduce(),那么函数A、B
和
C中对流
的
引用如何?在所有这些情况下,这三个函数中
的
任何一个都不会进一步
使用
流,尽管调用不一定是尾递
浏览 3
提问于2012-09-24
得票数 1
回答已采纳
8
回答
将
寄存器
值
读入C变量
c
、
gcc
、
assembly
、
inline-assembly
、
cpu-registers
我记得看到过一种
使用
扩展
的
gcc内联汇编来读取
寄存器
值
并将其存储到C变量中
的
方法
。 不过,我无论如何也记不住如何形成
asm
语句。
浏览 1
提问于2010-01-22
得票数 44
4
回答
是否有一种安全
的
方法
来指定对象
的
值
可能是未
初始化
的
,因为它
从未
被
使用
过?
c
、
gcc
、
clang
、
micro-optimization
免责声明:以下是一个纯粹
的
学术问题;我将此代码与任何生产系统保持至少100米
的
距离。这里提出
的
问题是在任何“现实生活”情况下都无法衡量
的
问题。__)); // Neither zeroing, nor UB, this is what I want } 编译器没有合理
的
方法
来知道unused_ptr_arg是不必要
的
(因此零化浪费了时间),但是我知道,所以我想通知编译器,unu
浏览 0
提问于2018-04-25
得票数 5
回答已采纳
3
回答
gcc内联汇编错误“mov
的
操作数类型不匹配”
c
、
gcc
、
assembly
、
inline-assembly
//quick inline
asm
statements performing the swap_byte for key_scheduling{
asm
("movl %1, %%eax;" :"=r"(t) :&
浏览 3
提问于2014-07-19
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
一文让你看懂无侵入的微服务探针原理
Java程序员走向Java架构师之路:类加载的过程详解
案例分析:程序媛记一次特殊的“故障”处理
初探 Java agent
滴滴开源Super-jacoco:java代码覆盖率收集平台文档
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券