KBMMW 4.93.10 win64 一个BUG 修正
2024-08-20 00:22:46
经常有人提到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 服务器的一些不稳定的问题。
如果大家碰到的话,可以试一下。
这个问题将在下一个版本上修正。
最新文章
- ora-01658 :无法为表空间USERS 中的段创建INITIAL区
- 学习Jquery
- oracle截取某个字符前面的字符串
- UIButton之Block回调
- JSP/SERVLET重定向技术综述
- assets
- ###STL学习--适配器
- leetcode(java)
- 客户端负载均衡Feign之一:申明式服务调用Feign入门示例
- shell tr命令
- Ubuntu Linux 环境变量PATH设置
- 查看 SharePoint 2013 部署到GAC的自定义dll
- 发现ramnit样本一枚
- Freedom DownTime
- SpringMVC错误小结
- yii2 basic VER
- cocurrent包ExecutorService线程池
- 小a和uim之大逃离(luogu P1373 dp)
- Servlet中init-param与context-param的区别
- Raw-OS源代码分析之消息系统-Queue_Buffer
热门文章
- winform中设置窗体的默认焦点
- Intellij IDEA +MAVEN+Jetty实现Mybatis的HelloWorld
- Gemfile分平台加载gem
- Java与C++程序在编译和运行上的区别
- MVC图片验证码
- WindowsForm--Bubble User Control
- mysql重复记录的查询删除方法
- dubbo工作原理
- “XXX::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。
- C++ 几种构造函数的区分和调用