From 8ae081b9da3423b5e099db2ad32eb2ff4748d0fc Mon Sep 17 00:00:00 2001 From: walon Date: Fri, 29 Dec 2023 19:41:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/business/ultimate/commonerrors.md | 1 + docs/business/ultimate/manual.md | 4 ++++ .../current/business/ultimate/commonerrors.md | 10 ++++++++++ .../current/business/ultimate/manual.md | 4 ++++ 4 files changed, 19 insertions(+) create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/business/ultimate/commonerrors.md diff --git a/docs/business/ultimate/commonerrors.md b/docs/business/ultimate/commonerrors.md index c546c891..65fee2f2 100644 --- a/docs/business/ultimate/commonerrors.md +++ b/docs/business/ultimate/commonerrors.md @@ -7,4 +7,5 @@ - 未加载DHE程序集前就执行了DHE程序集中代码 - 热更新dhe dll与dhao文件不匹配,导致错误地执行了本不应该被执行的原始AOT代码,创建了原始AOT类型。只有4.5.7及更早的没有严格校验dll的版本才会有此错误 - 抛出异常或打印日志时,获得函数帧栈过程中,意外访问了DHE程序集的原始函数。4.5.8及更早版本有此bug +- 开启了 `script debugging`构建参数 diff --git a/docs/business/ultimate/manual.md b/docs/business/ultimate/manual.md index 673bfe14..ee30d5d5 100644 --- a/docs/business/ultimate/manual.md +++ b/docs/business/ultimate/manual.md @@ -172,6 +172,10 @@ DHE技术中与构建相关的文件为dhe dll文件和对应的dhao文件。 - 使用`HybridCLR.Editor.DHE.BuildUtils.EncryptDllAndGenerateDHAODatas`生成最新的dhe dll的加密后的文件及对应的dhao文件 - 将加密后的dhe dll和dhao文件加入热更新资源管理系统 +## 不支持特性 + +- 不支持开启 `script debugging` 构建选项 + ## 注意事项 ### 外部dll引发的计算dhao的结果有巨量差异 diff --git a/i18n/en/docusaurus-plugin-content-docs/current/business/ultimate/commonerrors.md b/i18n/en/docusaurus-plugin-content-docs/current/business/ultimate/commonerrors.md new file mode 100644 index 00000000..c046c40d --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/business/ultimate/commonerrors.md @@ -0,0 +1,10 @@ +# Common Errors + +## ExecutionEngineException: Could not run the type initializer for origin DHE type 'xxx' + +The reason is that the original AOT type was accidentally created which was replaced by DHE. After using DHE, you can no longer create primitive types corresponding to types in DHE assemblies. There are several reasons for this error: + +- The code in the DHE assembly was executed before the DHE assembly was loaded. +- The hot update dhe dll does not match the dhao file, causing the original AOT code that should not be executed to be executed incorrectly, creating the original AOT type. Only versions 4.5.7 and earlier that do not strictly verify dll will have this error +- When an exception is thrown or a log is printed, the original function of the DHE assembly is accidentally accessed during the process of obtaining the function frame stack. 4.5.8 and earlier versions have this bug +- Enabled `script debugging` build parameters diff --git a/i18n/en/docusaurus-plugin-content-docs/current/business/ultimate/manual.md b/i18n/en/docusaurus-plugin-content-docs/current/business/ultimate/manual.md index 352b3937..1e6dd16f 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/business/ultimate/manual.md +++ b/i18n/en/docusaurus-plugin-content-docs/current/business/ultimate/manual.md @@ -172,6 +172,10 @@ If you want to carry the dhe dll and dhao files of the first package with the pa - Use `HybridCLR.Editor.DHE.BuildUtils.EncryptDllAndGenerateDHAODatas` to generate the latest dhe dll encrypted file and the corresponding dhao file - Add the encrypted dhe dll and dhao files to the hot update resource management system +## Feature not supported + +- Does not support turning on the `script debugging` build option + ## Precautions ### There are huge differences in the results of calculating dhao caused by external dll