能力值:
( LV2,RANK:10 )
|
-
-
2 楼
666666
最后于 2019-4-2 18:32
被zhatian编辑
,原因:
|
能力值:
( LV1,RANK:0 )
|
-
-
3 楼
只用一个CPU执行还算多线程?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
晚风a
只用一个CPU执行还算多线程?
还是多线程啊,只是指定在一个CPU上执行。 如果游戏单开没什么影响的,如果是多开的话就有点鸡肋了。目前没办法解决错误的问题,只能这样
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
晚风a
只用一个CPU执行还算多线程?
还是多线程啊,只是指定在一个CPU上执行。 如果游戏单开没什么影响的,如果是多开的话就有点鸡肋了。目前没办法解决错误的问题,只能这样
最后于 2019-4-2 19:34
被longyaohua编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
同一个线程一前一后 都是游戏自己执行的 我改我自己的算是全局变量吧··改完后面看到的还是没改的值······这2段代码间执行间隔很短
|
能力值:
( LV12,RANK:290 )
|
-
-
7 楼
只是一个猜想,用同一个游戏辅助在多核多开时用的是同一个线程锁,就导致了图中情况的发生
虽然图里只是说会浪费线程2的时间,不知道这是不是导致整个程序崩溃的原因,对于此种情况的解决办法也是我的一个猜想,就是在多开的时候使用不同的线程锁,看看是否能解决多核多线程崩溃的问题( 图片来源)
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
楼主建议你去看看线程安全,看完了你就会明白为什么你写的程序多线程会发生这种问题.那种改单核心的是治标不治本的方法,主要还是你的程序运行逻辑问题,没做到线程安全导致的.
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
楼上说的有理
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
chenteng
楼主建议你去看看线程安全,看完了你就会明白为什么你写的程序多线程会发生这种问题.那种改单核心的是治标不治本的方法,主要还是你的程序运行逻辑问题,没做到线程安全导致的.
谢谢你的帮助!最近在忙于其他事情,忘记看帖了 线程安全我看过,之前为了搞清楚这个问题,我特意用其他编译器写了同样多线程的简单寻怪打怪功能,同样崩溃,后来干脆不要多线程改成一个单线程死循环,还是一样崩溃。 我无法解释这现象,这是一款老游戏,05年开服的,当时的电脑应该大多也是单核CPU吧 到目前为止也没解决这问题
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
你每个线程都干了些什么?进入关键区应该加锁?
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
根据崩溃的地方进行排查,瞎猫碰耗子的找方法解决问题得看运气了。 哪里崩溃的就分析什么地方才是王道。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
多核CPU多线程有可能是并行执行(只有线程数大于核数才分时执行),因此进入核心代码应该加锁,例如同时写内存、写文件、写数据库等。 单核cpu多线程是分时执行。例如某线程写内存那么另外的线程一定在挂起状态。
最后于 2019-5-13 11:16
被tDasm编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
chenteng
楼主建议你去看看线程安全,看完了你就会明白为什么你写的程序多线程会发生这种问题.那种改单核心的是治标不治本的方法,主要还是你的程序运行逻辑问题,没做到线程安全导致的.
非常感谢大家指点,受益匪浅! 目前无法排查出问题所在,OD跟踪退出是在调用CALL上崩溃的,我无数次检查了函数调用,参数120%没有错误。 无论是多核多线程,还是多核单线程都崩,而且不止在同一个CALL崩,理论上所有调用的CALL都有可能崩。 游戏崩了辅助程序正常 我最后想问问,这是不是因为游戏是05年上架的,当时基本都是单核CPU,所以游戏对多核处理的不太完善? 必须改成单核CPU来调试或者说是 改成单核CPU才能够正常运行 有没有这样的一个说法?
|
能力值:
( LV6,RANK:90 )
|
-
-
15 楼
崩溃问题,从崩溃处一步一步回溯分析!!!!!!!!!!!!!!!! 一步一步回溯分析!!!!! 一步一步回溯分析!!!!! 一步一步回溯分析!!!!! 一步一步回溯分析!!!!! 其他都没用
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
tDasm
多核CPU多线程有可能是并行执行(只有线程数大于核数才分时执行),因此进入核心代码应该加锁,例如同时写内存、写文件、写数据库等。单核cpu多线程是分时执行。例如某线程写内存那么另外的线程一定在挂起状态 ...
我似乎理解了你的教导,非常感谢!回去我再排查 非常感谢大家的帮助 真的非常感谢!
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
longyaohua
非常感谢大家指点,受益匪浅!
目前无法排查出问题所在,OD跟踪退出是在调用CALL上崩溃的,我无数次检查了函数调用,参数120%没有错误。
无论是多核多线程,还是多核单线程都崩,而且不止在同一个C ...
没有这种说法。 问题是你不注入,程序一点问题都没有。你一注入就出问题,那还不是你辅助程序的问题? 既然是调用call出问题,你先把你写的每个call什么都不做直接返回,看是否出问题?
最后于 2019-5-15 14:54
被tDasm编辑
,原因:
|
能力值:
( LV5,RANK:60 )
|
-
-
18 楼
遇到过同样的问题, 线程里面有堆栈校验, 会拿ESP去和0xFFFFFFFF进行运算. 弃用线程, 用时钟解决了这个问题. 主线程和其他线程, 毕竟一个亲生的一个是抱养的.
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
逻辑错误
遇到过同样的问题, 线程里面有堆栈校验, 会拿ESP去和0xFFFFFFFF进行运算. 弃用线程, 用时钟解决了这个问题.
主线程和其他线程, 毕竟一个亲生的一个是抱养的.
我用时钟也崩
|
|
|