wdvaini 发表于 2024-11-19 01:25

异步调用dll的怎么调试呀

本人菜的抠脚,还在学习阶段。

遇到一个软件,主程序启动的是一个exe,但实际上程序的逻辑全在一个dll里。
用od跑起来后,程序马上就挂掉了,以我浅薄的知识理解,他应该是启了个异步线程调用了这个dll。


求大佬赐教,现在想调试这个dll,是怎么操作。。有没相关的教程,或者过往大佬调试的经验文章能f

matxi 发表于 2024-11-19 10:41

主程序可能没有正确地加载或初始化 DLL 中的资源或依赖,导致崩溃。如果主程序启动了异步线程,而线程未正确同步或处理,可能会导致访问非法内存或资源冲突。DLL 内部抛出了未捕获的异常,程序也可能会崩溃。DLL 可能依赖其他库或资源,如果这些资源缺失或未正确配置,也会导致崩溃。如果你用 OllyDbg 或类似工具进行调试,可以尝试。看看主程序是如何加载和调用 DLL 的,重点查看函数调用、参数传递、线程创建等部分。在 DLL 被加载后,设置断点查看是否有异常或未处理的错误抛出。。如果程序崩溃时有堆栈跟踪,分析崩溃的具体位置,是否发生在 DLL 内部或异步线程中。如果是多线程问题,查看线程的创建、同步机制以及线程执行的代码,看看是否有竞态条件或死锁。你也可以用工具如 Process Monitor、ProcDump 等抓取更多的崩溃信息,这样有助于判断是 DLL 的问题还是主程序启动和线程管理的问题

wdvaini 发表于 2024-11-19 18:30

matxi 发表于 2024-11-19 10:41
主程序可能没有正确地加载或初始化 DLL 中的资源或依赖,导致崩溃。如果主程序启动了异步线程,而线程未正 ...

拒绝ai,从我做起{:1_911:}

wdvaini 发表于 2024-11-20 09:22

别沉了!!
页: [1]
查看完整版本: 异步调用dll的怎么调试呀