目前我是一名程序员,每天使用 C# 语言开发我的应用程序。我写了我的应用程序,今天我决定反汇编我的应用程序,看看实际的汇编代码是什么样子的。
我查看了 Microsoft 文档并了解到我有一个工具可以执行此操作,即“ildasm.exe”,它是在我安装 Visual Studio 时预装的,用于将汇编代码作为中心代码查看。IL 时间(我知道 C# 与 C++ 和 C 或 Pascal 不同)
我使用了 Visual Studio 的命令行工具,它的名称是:“x64 Native Tools Command Prompt for VS 2019”,然后以管理员身份运行它来执行此操作。
然后在新打开的窗口中输入 ildasm,它会显示一个图形窗口。我选择我的应用程序将其打开,但是当我单击任何方法查看其汇编代码时,ildasm 程序会立即退出。
我再次尝试转储一个“.il”文件,以便我可以在记事本中查看它们,但即便如此,ildasm 也只是向我显示了一个进度窗口,然后立即退出。
还会生成一个“.il”文件,但是当我查看它时,它只写入了“程序集”部分(这决定了当您右键单击应用程序 > 属性并选择“详细信息”选项卡时会看到什么)
我尝试使用命令输入:
ildasm "E:\Projects_MSVS\AESEncryptDecyptFile\AESEncryptDecyptFile\bin\Debug\AESEncryptDecryptFile.exe" /out="E:\Projects_MSVS\AESEncryptDecyptFile\AESEncryptDecyptFile\bin\Debug\AESEncryptDecryptFile.exe.il"
而且和上次没什么区别,ildasm马上就退出了
它的共同点是没有显示任何消息来报告此错误,它只是停止应用程序并退出。
我真的不相信这有什么异常,所以我使用了诊断数据查看器工具进行了调查。在问题报告选项卡中搜索了一段时间后,我终于找到了它。它抛出了七个停止工作时间,这对应于我尝试渲染程序的七次。在第七份报告中(第一次尝试的意思),停止工作这个词的右侧,不再是一个勾号图标(✓)而是一个待定图标(看起来像这样:⟳),当我点击提取报告文件它只是打开 Windows 资源管理器窗口,它是一个空文件夹(此文件夹为空),我还启用了显示所有隐藏文件的选项,包括系统文件。
我发布了我使用诊断数据查看器工具的所有七个错误消息,以便于调查
这是我使用诊断数据查看器工具进行调查时得到的结果,我的每次尝试都将标记为(第 N 次尝试),并且在每次尝试中,错误报告都是分开的:
(第一次尝试):
Microsoft .NET Framework IL disassembler
description
Faulting Application Path: C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\ildasm.exe
Creation Time: 12/12/2021 4:16:48 PM
Problem: Stopped working
Status: Report queued
Problem signature
Problem Event Name: BEX64
Application Name: ildasm.exe
Application Version: 4.8.4084.0
Application Timestamp: 5dda4186
Fault Module Name: ildasm.exe
Fault Module Version: 4.8.4084.0
Fault Module Timestamp: 5dda4186
Exception Offset: 00000000000055ae7
Exception Code: c0000409
Exception Data: 0000000000000005
Extra information about the problem
Bucket ID: (18446744073709551615)
Files that help describe the problem
minidump.mdmp
WERInternalMetadata.xml
WERInternalRequest.xml
memory.csv
sysinfo.txt
AppCompat.txt
memory.hdmp
WERDataCollectionStatus.txt
(第二次尝试):
Microsoft .NET Framework IL disassembler
description
Faulting Application Path: C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\ildasm.exe
Creation Time: 12/12/2021 4:17:49 PM
Problem: Stopped working
Status: Report sent
Problem signature
Problem Event Name: BEX64
Application Name: ildasm.exe
Application Version: 4.8.4084.0
Application Timestamp: 5dda4186
Fault Module Name: ildasm.exe
Fault Module Version: 4.8.4084.0
Fault Module Timestamp: 5dda4186
Exception Offset: 00000000000055ae7
Exception Code: c0000409
Exception Data: 0000000000000005
Extra information about the problem
Bucket ID: 8f47f513232a51a281bc646c0cbb3750 (1278006809499219792)
(第三次尝试):
Microsoft .NET Framework IL disassembler
description
Faulting Application Path: C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\ildasm.exe
Creation Time: 12/12/2021 4:19:22 PM
Problem: Stopped working
Status: Report sent
Problem signature
Problem Event Name: BEX64
Application Name: ildasm.exe
Application Version: 4.8.4084.0
Application Timestamp: 5dda4186
Fault Module Name: ildasm.exe
Fault Module Version: 4.8.4084.0
Fault Module Timestamp: 5dda4186
Exception Offset: 00000000000055ae7
Exception Code: c0000409
Exception Data: 0000000000000005
Extra information about the problem
Bucket ID: 8f47f513232a51a281bc646c0cbb3750 (1278006809499219792)
(第四次尝试):
Microsoft .NET Framework IL disassembler
description
Faulting Application Path: C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\ildasm.exe
Creation Time: 12/12/2021 4:20:14 PM
Problem: Stopped working
Status: Report sent
Problem signature
Problem Event Name: BEX64
Application Name: ildasm.exe
Application Version: 4.8.4084.0
Application Timestamp: 5dda4186
Fault Module Name: ildasm.exe
Fault Module Version: 4.8.4084.0
Fault Module Timestamp: 5dda4186
Exception Offset: 00000000000055ae7
Exception Code: c0000409
Exception Data: 0000000000000005
Extra information about the problem
Bucket ID: 8f47f513232a51a281bc646c0cbb3750 (1278006809499219792)
(第五次尝试):
Microsoft .NET Framework IL disassembler
description
Faulting Application Path: C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\ildasm.exe
Creation Time: 12/12/2021 4:21:33 PM
Problem: Stopped working
Status: Report sent
Problem signature
Problem Event Name: BEX64
Application Name: ildasm.exe
Application Version: 4.8.4084.0
Application Timestamp: 5dda4186
Fault Module Name: ildasm.exe
Fault Module Version: 4.8.4084.0
Fault Module Timestamp: 5dda4186
Exception Offset: 00000000000055ae7
Exception Code: c0000409
Exception Data: 0000000000000005
Extra information about the problem
Bucket ID: 8f47f513232a51a281bc646c0cbb3750 (1278006809499219792)
(第六次尝试):
Microsoft .NET Framework IL disassembler
description
Faulting Application Path: C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\ildasm.exe
Creation Time: 12/12/2021 4:26:34 PM
Problem: Stopped working
Status: Report sent
Problem signature
Problem Event Name: BEX64
Application Name: ildasm.exe
Application Version: 4.8.4084.0
Application Timestamp: 5dda4186
Fault Module Name: ildasm.exe
Fault Module Version: 4.8.4084.0
Fault Module Timestamp: 5dda4186
Exception Offset: 00000000000055ae7
Exception Code: c0000409
Exception Data: 0000000000000005
Extra information about the problem
Bucket ID: 8f47f513232a51a281bc646c0cbb3750 (1278006809499219792)
(第七次尝试,也是我最后一次尝试):
Microsoft .NET Framework IL disassembler
description
Faulting Application Path: C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\ildasm.exe
Creation Time: 12/12/2021 4:26:59 PM
Problem: Stopped working
Status: Report sent
Problem signature
Problem Event Name: BEX64
Application Name: ildasm.exe
Application Version: 4.8.4084.0
Application Timestamp: 5dda4186
Fault Module Name: ildasm.exe
Fault Module Version: 4.8.4084.0
Fault Module Timestamp: 5dda4186
Exception Offset: 00000000000055ae7
Exception Code: c0000409
Exception Data: 0000000000000005
Extra information about the problem
Bucket ID: 8f47f513232a51a281bc646c0cbb3750 (1278006809499219792)
这是我的计算机配置(从预装在 Windows 上的系统信息工具中提取):
OS Name Microsoft Windows 11 Home Single Language
Version 10.0.22000 Build 22000
Other OS Description Not Available
OS Manufacturer Microsoft Corporation
System Name CYBERDAY
System Manufacturer ASUSTeK COMPUTER INC.
System Model VivoBook_ASUSLaptop X409FA_X409FA
System Type x64-based PC
System SKU
Processor Intel(R) Core(TM) i3-8145U CPU @ 2.10GHz, 2304 Mhz, 2 Core(s), 4 Logical Processor(s)
BIOS Version/Date American Megatrends Inc. X409FA.305, 1/28/2021
SMBIOS Version 3.2
Embedded Controller Version 255.255
BIOS Mode UEFI
BaseBoard Manufacturer ASUSTeK COMPUTER INC.
BaseBoard Product X409FA
BaseBoard Version 1.0
Platform Role Mobile
Secure Boot State On
PCR7 Configuration Elevation Required to View
Windows Directory C:\Windows
System Directory C:\Windows\system32
Boot Device \Device\HarddiskVolume1
Locale United States
Hardware Abstraction Layer Version = "10.0.22000.1"
Time Zone SE Asia Standard Time
Installed Physical Memory (RAM) 4.00 GB
Total Physical Memory 3.86 GB
Available Physical Memory 306 MB
Total Virtual Memory 11.4 GB
Available Virtual Memory 4.55 GB
Page File Space 7.50 GB
Page File C:\pagefile.sys
Kernel DMA Protection Off
Virtualization-based security Running
Virtualization-based security Required Security Properties
Virtualization-based security Available Security Properties Base Virtualization Support, Secure Boot, DMA Protection, Mode Based Execution Control
Virtualization-based security Services Configured
Virtualization-based security Services Running
Device Encryption Support Elevation Required to View
A hypervisor has been detected. Features required for Hyper-V will not be displayed.
我参加了Windows 预览体验计划,我加入以获取新更新的频道是Beta 频道。我安装的.NET Framework 版本是 4.8 版
非常感谢任何帮助。