精易论坛

标题: 类 取方法地址 崩溃 [打印本页]

作者: Mr.Yang    时间: 2024-9-7 08:30
标题: 类 取方法地址 崩溃
问题如下:
我使用"取方法地址"取得类方法指针.然后用线程调用该方法.但断点走到"申请内存"就会崩溃 该函数内的其他代码没有问题 而且这个函数单独拿到程序集调用也是正常的.

精易模块内的两个类回调函数 都尝试过 都是相同的情况.

作者: 呵呵仙    时间: 2024-9-7 12:14
应该是以前win7年代,不会有问题.用win10就有问题了.我用下我的模块看下可不可以?如有问题,就不要用了!!我也没用易很久了!
https://125.confly.eu.org/forum.php?mod ... 14759821&extra=
作者: 笨来无一悟    时间: 2024-9-7 12:46
取到类方法的真实地址之后 每次调用之前随意乱PUSH一个4字节的值就可以了 因为类方法隐式传递了一个类变量地址 实际这个地址类里面没有用到 所以乱PUSH一个整数就可以不崩了 堆栈不平衡导致的
作者: 洋Hay    时间: 2024-9-7 14:38
直接用指针操作.需要保证类在线程运行时候,没有被释放掉 指针还原.e (953.39 KB, 下载次数: 5)

作者: bysy    时间: 2024-9-7 15:15
笨来无一悟 发表于 2024-9-7 12:46
取到类方法的真实地址之后 每次调用之前随意乱PUSH一个4字节的值就可以了 因为类方法隐式传递了一个类变量 ...

那个地址是 类自身 你要是想调用这个类的方法 或者成员你就要传递他 传其他崩
作者: Mr.Yang    时间: 2024-9-7 18:51
呵呵仙 发表于 2024-9-7 12:14
应该是以前win7年代,不会有问题.用win10就有问题了.我用下我的模块看下可不可以?如有问题,就不要用了!!我也 ...

谢谢回答.尝试了一下你的模块 也是不行. 问题我已经解决了 用精易的改写了一下就可以了.




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4