草庐IT

event.type

全部标签

c - 有什么办法可以分析x86汇编源码中寄存器 "type"吗?

所以基本上我要做的是在我对汇编代码的分析任务中区分数据和内存地址。这是一个我很难处理的例子。假设我们在.data部分声明了一个变量val。0x0804805401000000这里是反汇编ELF文件的一行汇编代码。mov$0x08048054,%eax所以这可能是变量val的间接引用,如下所示:mov$0x8048054,%eaxmov%edx,0x4(%esp)mov%eax,(%esp)callprintf然后我会将$0x8048054转换为变量名val,如下所示:movval,%eaxmov%edx,0x4(%esp)mov%eax,(%esp)callprintf但还有另一种情况

linux - 如何更改 perf_event_open 最大采样率

我正在使用perf_event_open获取样本。我试着让每个人都说到点子上。但是perf_event_open不够快。我尝试使用以下命令更改采样率:echo10000000>/proc/sys/kernel/perf_event_max_sample_rate但是看起来我设置的值太大了。运行我的代码后,perf_event_max_sample_rate变回较低的值,例如12500。当我尝试更改更大的值时,例如20000000、50000000等,采样速度不会随着我更改的值而增加。有什么方法可以更快地改变perf_event_open采样速度吗? 最佳答案

linux - 如何更改 perf_event_open 最大采样率

我正在使用perf_event_open获取样本。我试着让每个人都说到点子上。但是perf_event_open不够快。我尝试使用以下命令更改采样率:echo10000000>/proc/sys/kernel/perf_event_max_sample_rate但是看起来我设置的值太大了。运行我的代码后,perf_event_max_sample_rate变回较低的值,例如12500。当我尝试更改更大的值时,例如20000000、50000000等,采样速度不会随着我更改的值而增加。有什么方法可以更快地改变perf_event_open采样速度吗? 最佳答案

c - readdir 为目录返回 d_type == DT_UNKNOWN 的 dirent。和

我有以下模仿ls的代码:#include#includechar*dirent_type_to_str(unsignedchardirent_type){switch(dirent_type){caseDT_DIR:return"Dir";caseDT_REG:return"File";}printf("DEBUG:Unknowntype%x\n",dirent_type);return"Unk";}intmain(intargc,char**argv){char*dir_path=argc>1?argv[1]:".";DIR*dir_stream=opendir(dir_path);

c - readdir 为目录返回 d_type == DT_UNKNOWN 的 dirent。和

我有以下模仿ls的代码:#include#includechar*dirent_type_to_str(unsignedchardirent_type){switch(dirent_type){caseDT_DIR:return"Dir";caseDT_REG:return"File";}printf("DEBUG:Unknowntype%x\n",dirent_type);return"Unk";}intmain(intargc,char**argv){char*dir_path=argc>1?argv[1]:".";DIR*dir_stream=opendir(dir_path);

c - 警告 : comparison is always false due to limited range of data type in gcc 4. 1.2

我遇到了来自gcc4.1.2的以下警告:warning:comparisonisalwaysfalseduetolimitedrangeofdatatype相关的C代码如下:if(unlikely(count其中“计数”是无符号的。我试图禁用警告,因为不允许修改源代码:-Wno-type-limits但是gcc4.1.2好像不支持。cc1:error:unrecognizedcommandlineoption"-Wno-type-limits"还有其他方法可以消除此警告吗? 最佳答案 安unsignedvalue永远不会是负的——因

c - 警告 : comparison is always false due to limited range of data type in gcc 4. 1.2

我遇到了来自gcc4.1.2的以下警告:warning:comparisonisalwaysfalseduetolimitedrangeofdatatype相关的C代码如下:if(unlikely(count其中“计数”是无符号的。我试图禁用警告,因为不允许修改源代码:-Wno-type-limits但是gcc4.1.2好像不支持。cc1:error:unrecognizedcommandlineoption"-Wno-type-limits"还有其他方法可以消除此警告吗? 最佳答案 安unsignedvalue永远不会是负的——因

linux - 无法从/dev/input/event* 获取鼠标 move 事件

使用evtest时无法获取鼠标move事件测试输入事件的工具。我只得到三个鼠标事件:leftclickevent:type=EV_KEY,code=272(LeftBtn),value=1/0rightclickevent:type=EV_KEY,code=273(RightBtn),value=1/0mousewheelevent:type=EV_REL,code=8(Wheel),value=-1没有鼠标move事件。那么我的鼠标move事件在哪里以及如何捕获它?ps:在安装了virtualBox-addition的VirtualBox-4中的Ubuntu11.04和Gentoo上

linux - 无法从/dev/input/event* 获取鼠标 move 事件

使用evtest时无法获取鼠标move事件测试输入事件的工具。我只得到三个鼠标事件:leftclickevent:type=EV_KEY,code=272(LeftBtn),value=1/0rightclickevent:type=EV_KEY,code=273(RightBtn),value=1/0mousewheelevent:type=EV_REL,code=8(Wheel),value=-1没有鼠标move事件。那么我的鼠标move事件在哪里以及如何捕获它?ps:在安装了virtualBox-addition的VirtualBox-4中的Ubuntu11.04和Gentoo上

linux - epoll_event结构体(epoll)中参数的意义

我正在使用epoll_ctl()和epoll_wait()系统调用。intepoll_ctl(intepfd,intop,intfd,structepoll_event*event);intepoll_wait(intepfd,structepoll_event*events,intmaxevents,inttimeout);structepoll_event{uint32_tevents;/*epollevents(bitmask)*/epoll_data_tdata;/*Userdata*/};typedefunionepoll_data{entercodehere`void*pt