windbg 输出“64 位机器不使用 64 位 API”是什么意思?

问题描述 投票:0回答:1

我有一个 Linux .Net Core 内存转储,我在 WinDbg 中打开它。它显示以下消息 - 64 位机器不使用 64 位 API

我使用 Windows 11,并且刚刚从最新的 Windows SDK 安装了 WinDbg:

0:000> version
Generic Unix Version 0 UP Free x64
Machine Name:
System Uptime: not available
Process Uptime: not available
Target Composition Target

Microsoft (R) Windows Debugger Version 10.0.22621.1778 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

command line: '"C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe" '  Debugger Process 0x6E34 
dbgeng:  image 10.0.22621.1778, 
        [path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbgeng.dll]
dbghelp: image 10.0.22621.1778, 
        [path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll]
        DIA version: 30795
Extension DLL search Path:
    C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\WINXP;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\winext;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\winext\arcade;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\pri;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64;C:\Users\p11f70f\AppData\Local\Dbg\EngineExtensions;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64;C:\Program Files\OpenSSH\;C:\Program Files\PowerShell\7;C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin;C:\Program Files\Python39\;C:\Program Files\Python39\Scripts\;C:\ProgramData\Boxstarter;C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\Plantronics\Spokes3G\;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\ProgramData\chocolatey\bin;C:\Program Files\PuTTY\;C:\Program Files (x86)\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\DTS\Binn\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\p11f70f\AppData\Local\Microsoft\WindowsApps;c:\dayforce\utils;C:\Users\p11f70f\.dotnet\tools;C:\Users\p11f70f\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\p11f70f\AppData\Local\Programs\Fiddler;C:\Users\p11f70f\.dotnet\tools;C:\Users\p11f70f\AppData\Local\Microsoft\WindowsApps;C:\Users\p11f70f\AppData\Local\Programs\Azure Data Studio\bin;~\.terraform;C:\Users\p11f70f\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files\Git\cmd;C:\Program Files\PowerShell\7\;C:\Users\p11f70f\AppData\Local\Microsoft\WindowsApps;c:\dayforce\utils;C:\Users\p11f70f\.dotnet\tools;C:\Users\p11f70f\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\p11f70f\AppData\Local\Programs\Fiddler;C:\Users\p11f70f\.dotnet\tools;C:\Users\p11f70f\AppData\Local\Microsoft\WindowsApps;C:\Users\p11f70f\AppData\Local\Programs\Azure Data Studio\bin;C:\Users\p11f70f\.terraform;c:\utils;C:\Users\p11f70f\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin;C:\Users\p11f70f\AppData\Roaming\nvm;C:\Program Files\nodejs;c:\utils\bind\;
Extension DLL chain:
    ELFBinComposition: image 10.0.22621.1778, API 0.0.0, 
        [path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\winext\ELFBinComposition.dll]
    dbghelp: image 10.0.22621.1778, API 10.0.6, 
        [path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll]
    uext: image 10.0.22621.1778, API 1.0.0, 
        [path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\winext\uext.dll]

WinDbg 进程从 C:\Program Files (x86)\Windows Kits\Debuggers\x64

启动

编辑1

该行在加载故障转储时从一开始就输出:

Microsoft (R) Windows Debugger Version 10.0.22621.1778 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [C:\Temp\dumps\clean_coredump]
64-bit machine not using 64-bit API

...

我尝试在 WinDbg Preview 应用程序中打开相同的核心转储,但它完全失败:

icrosoft (R) Windows Debugger Version 10.0.22549.1000 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [C:\Temp\dumps\clean_coredump]
Could not match Dump File signature - invalid file format
Could not open dump file [C:\Temp\dumps\clean_coredump], Win32 error 0n87
    "The parameter is incorrect."

当然,WinDbg 预览版不是最新的,但我不知道如何更新它 - Windows 应用商店在我的计算机上被阻止。

编辑2

我能够按照以下步骤安装现代 WinDBG:

  1. https://aka.ms/windbg 下载应用程序安装程序。我无法运行它(看起来像 Windows 应用商店技术,但在这里被阻止)。但这是一个文本文件,提到https://windbg.download.prss.microsoft.com/dbazure/prod/1-2308-2002-0/windbg.msixbundle
  2. 下载windbg.msixbundle,仍然无法运行,但它是一个存档,所以我提取了文件windbg_win7-x86.msix、windbg_win7-x64.msix和windbg_win-arm64.msix
  3. 仍然无法运行 msix 文件,但它们又可以提取到单独的文件夹中。里面有一个可执行文件DbgX.Shell.exe,它似乎是调试器。

但是,即使使用这个版本,我仍然收到相同的消息。这是加载转储后的完整输出:

************* Preparing the environment for Debugger Extensions Gallery repositories **************
   ExtensionRepository : Implicit
   UseExperimentalFeatureForNugetShare : true
   AllowNugetExeUpdate : true
   AllowNugetMSCredentialProviderInstall : true
   AllowParallelInitializationOfLocalRepositories : true

   -- Configuring repositories
      ----> Repository : LocalInstalled, Enabled: true
      ----> Repository : UserExtensions, Enabled: true

>>>>>>>>>>>>> Preparing the environment for Debugger Extensions Gallery repositories completed, duration 0.000 seconds

************* Waiting for Debugger Extensions Gallery to Initialize **************

>>>>>>>>>>>>> Waiting for Debugger Extensions Gallery to Initialize completed, duration 0.032 seconds
   ----> Repository : UserExtensions, Enabled: true, Packages count: 0
   ----> Repository : LocalInstalled, Enabled: true, Packages count: 36

Microsoft (R) Windows Debugger Version 10.0.25921.1001 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [C:\Temp\dumps\clean_coredump]
64-bit machine not using 64-bit API

************* Path validation summary **************
Response                         Time (ms)     Location
Deferred                                       srv*...*http://msdl.microsoft.com/download/symbols
Symbol search path is: srv*...*http://msdl.microsoft.com/download/symbols
Executable search path is: 
Generic Unix Version 0 UP Free x64
System Uptime: not available
Process Uptime: not available
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
..........................................
*** WARNING: Unable to verify timestamp for libpthread-2.31.so
*** WARNING: Unable to verify timestamp for libcoreclr.so
libpthread_2_31!pthread_cond_wait+0x1e2:
00007454`1e1637b2 483d00f0ffff    cmp     rax,0FFFFFFFFFFFFF000h
windbg
1个回答
0
投票

我也遇到了同样的问题,请问你最后是怎么解决的呢? 当我打开dump时,输出如下:

************* 为调试器扩展库存储库准备环境 ************** 扩展存储库:隐式 UseExperimentalFeatureForNugetShare :true 允许NugetExeUpdate:true 非交互式Nuget:true 允许NugetMSCredentialProviderInstall:true 允许本地存储库并行初始化:true

启用RedirectToV8JsProvider:假

-- 配置存储库 ----> 存储库:LocalInstalled,已启用:true ----> 存储库:UserExtensions,启用:true

已完成调试器扩展库存储库的环境准备,持续时间 0.015 秒

**************** 等待调试器扩展库初始化 **************

等待调试器扩展库初始化完成,持续时间 0.032 秒 ----> 存储库:UserExtensions,启用:true,包计数:0 ----> 存储库:LocalInstalled,已启用:true,包数量:41

Microsoft (R) Windows 调试器版本 10.0.27553.1004 AMD64 版权所有 (c) Microsoft Corporation。保留所有权利。

加载转储文件 [D:\work�40508\prod_recruit-email-receive-5bc8687556-5dc6j_20240508102921 mp ecruit-电子邮件-接收-5bc8687556-5dc6j_20240508102921.dmp] 64 位机器不使用 64 位 API

**************** 路径验证摘要 ************** 响应时间(毫秒) 位置 延迟的 srvhttps://msdl.microsoft.com/download/symbols 符号搜索路径为:srvhttps://msdl.microsoft.com/download/symbols 可执行搜索路径为: 通用 Unix 版本 0 UP 免费 x64 系统正常运行时间:不可用 流程正常运行时间:不可用 ...................................................... ............ ...................................................... ............ ...................................................... ............ ...................................... *** 警告:无法验证 libpthread-2.31.so 的时间戳 *** 警告:无法验证 libcoreclr.so 的时间戳 libpthread_2_31!pthread_cond_wait+0x1e2: 00007f7a`fe9747b2 483d00f0ffff cmp rax,0FFFFFFFFFFFFFF000h

© www.soinside.com 2019 - 2024. All rights reserved.