CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

高难!我有程序可执行文件.EXE,想知道某个函数是怎么调用的(该函数名是知道的).

楼主iamzxx()2004-11-03 11:41:32 在 VC/MFC / 进程/线程/DLL 提问

我有一个开发包SDK(DLL方式的),我自己在调用其中一个函数(该函数名是知道的).  
  怎么都不对.另外我有一个DEMO程序可执行文件.EXE,它也对着个函数进行了调用,  
  我想通过这个EXE文件得知这个函数是怎么调用的,请问有人做过吗? 问题点数:100、回复次数:16Top

1 楼w100(石头~鱼儿)回复于 2004-11-03 11:49:56 得分 10

softice   之.Top

2 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2004-11-03 11:50:05 得分 10

楼主可说的是调用堆栈或者是传递的参数?Top

3 楼kugou123(酷狗)(彪悍的人生,不需要解释 www.xiaozhou.net)回复于 2004-11-03 12:21:07 得分 10

把那个DEMO动态跟踪一次Top

4 楼flyelf(空谷清音)回复于 2004-11-03 12:37:52 得分 10

该sdk没有帮助?Top

5 楼roger_ding(海天一色)回复于 2004-11-03 12:58:08 得分 10

WinDasm,OllyDbg  
  这些工具可以静态分析出具体函数调用,很好用!Top

6 楼iamzxx()回复于 2004-11-03 15:36:55 得分 0

该sdk介绍该函数是用来"获取当前是否有扫描仪按钮按下事件发生,并得到按钮按下的  
  类型",我把它放在一个循环里面WHILE(TRUE),第一次它执行正确,循环执行到第二次就出错,  
  我想看下DEMO中是怎么调用的.WinDasm,SOFTICE都没用过.请问kugou123(酷狗):  
  "动态跟踪一次"使用什么工具?Top

7 楼danyueer(淡月儿:从此以后,各人得各人的眼泪罢了)回复于 2004-11-03 16:15:19 得分 10

动态跟踪一次,就是让你把Demo程序单步跟踪执行一次,VC自己就有这个功能,可以用SoftICE,也可以用其他的调试工具,不过那个谁说的用WinDASM是胡扯,别听他误导^_^。  
   
  你的调用究竟如何不对?是编译不通过,还是运行结果不正确?把错报出来,让大家替你判断。Top

8 楼danyueer(淡月儿:从此以后,各人得各人的眼泪罢了)回复于 2004-11-03 16:16:18 得分 10

运行到第二次出错,很可能是你的数据在调用之前没有进行合理的初始化。Top

9 楼roger_ding(海天一色)回复于 2004-11-03 16:31:17 得分 10

to     danyueer(淡月儿:清水上的足音)    
  你用过WinDASM吗?  
  Top

10 楼roger_ding(海天一色)回复于 2004-11-03 16:32:33 得分 0

我是说用Windasm分析“DEMO程序”,请问哪里错了?Top

11 楼kugou123(酷狗)(彪悍的人生,不需要解释 www.xiaozhou.net)回复于 2004-11-03 18:01:17 得分 10

推荐用ollydbg动态跟踪。Top

12 楼iamzxx()回复于 2004-11-03 20:33:07 得分 0

Demo程序没有源代码,只有.EXE文件,在VC中能跟踪执行吗?Top

13 楼iamzxx()回复于 2004-11-03 20:34:10 得分 0

是跟踪进程吗Top

14 楼kugou123(酷狗)(彪悍的人生,不需要解释 www.xiaozhou.net)回复于 2004-11-04 09:47:11 得分 10

不啊。用动态跟踪调试工具加载你的exe文件,然后可以设置断点。  
  断在你需要的地方,一步一步跟进,你就可以看到是怎么调用函数的了。  
  一般堆栈调用方式,就是把参数按相反的顺序压入堆栈,再用CALL指令,跳转到函数的开始地址。然后函数就把参数一个一个从栈中取出来执行。执行完以后,就回到CALL指令的下一条指令继续执行。Top

15 楼iamzxx()回复于 2004-11-04 11:03:44 得分 0

暂时找到了点头绪,用WIN32DASM反汇编DLL文件时找到了要用的函数名,下一步就是跟踪  
  了.Top

16 楼iamzxx()回复于 2004-11-07 12:18:10 得分 0

发现是线程优先级的问题,谢谢大家,结贴!!!Top

相关问题

  • 函数调用
  • 函数调用
  • 调用函数
  • 函数调用
  • 函数调用
  • 函数调用?
  • 函数调用函数
  • 子函数调用?
  • 函数的调用
  • 函数的调用

关键词

  • 函数
  • 执行
  • 文件
  • 指令
  • 调用
  • windasm
  • 知道
  • demo程序
  • 请问
  • 工具

得分解答快速导航

  • 帖主:iamzxx
  • w100
  • DentistryDoctor
  • kugou123
  • flyelf
  • roger_ding
  • danyueer
  • danyueer
  • roger_ding
  • kugou123
  • kugou123

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo