KBMMW 4.93.10 win64 一个BUG 修正

简介: 经常有人提到kbmmw 4.93.10 的64 位版本没有32位版本稳定。 经过官方确认,是delphi 编译器生成64 位代码内存偏移地址的错误。 在kbmMWGlobal.pas 中 有一个函数kbmMWGetCurrentThreadID, 如下: 此函数在64 位里面,编译器出来是这个 可以看见编译出来的机器码是 $65 $48 $8B $04 $25 $24 $00 $00 $00 这个有时会导致64 位服务器出问题。

经常有人提到kbmmw 4.93.10 的64 位版本没有32位版本稳定。

经过官方确认,是delphi 编译器生成64 位代码内存偏移地址的错误。

在kbmMWGlobal.pas 中

有一个函数kbmMWGetCurrentThreadID, 如下:

此函数在64 位里面,编译器出来是这个

可以看见编译出来的机器码是

$65

$48

$8B

$04

$25

$24

$00

$00

$00

这个有时会导致64 位服务器出问题。

作者已经修改了这个问题(简单粗暴而有效)。直接使用机器码来处理,

替换上面的代码。替换后结果为

运行是CPU 的指令如下:

 

实际上就是把偏移地址从$24 换成 $48。

这样就可以解决win64 服务器的一些不稳定的问题。

如果大家碰到的话,可以试一下。

这个问题将在下一个版本上修正。

 

目录
相关文章
|
5月前
|
前端开发
修正一些formdesigner的一些bug与操作
修正一些formdesigner的一些bug与操作
35 1
|
4月前
|
算法 芯片 异构计算
Quartus II 中常见Warning 原因及解决方法
这篇内容是关于2010年作者在进行嵌入式FPGA开发时遇到的问题及解决方案的总结。主要问题包括时钟敏感信号在时钟边缘同时变化、信号截断、输出端口未使用、未定义的时钟信号、时钟延迟分析未启用、时序违规等。对应的解决措施涉及编辑vector source file、调整信号位数、添加约束信息、优化设计和设置时序要求等。此外,还包括对预发布设备时序特性的警告以及关于行波和门控时钟的注意事项。
|
IDE 开发工具
ide internal errors【bug】
ide internal errors【bug】
141 0
关于win10 18362版之后的版本一个Bug
关于win10 18362版之后的版本一个Bug
186 0
关于win10 18362版之后的版本一个Bug
|
编译器 开发工具 Windows
Qt使用过程中,遇到error及解决方法总结
Qt使用过程中,遇到error及解决方法总结
|
Web App开发 JavaScript 前端开发
Google浏览器Chrome安装失败,错误代码0xa0430721解决办法(★亲测可行★)
Google浏览器Chrome安装失败,错误代码0xa0430721解决办法(★亲测可行★)
652 0