【问题标题】:how to fix the dbx "MT support is disabled" error?如何修复 dbx“MT 支持已禁用”错误?
【发布时间】:2013-04-23 19:01:15
【问题描述】:

我加载了一个多线程程序的核心文件。我无法使用以下命令列出线程。

(dbx) threads
 dbx: MT support is disabled 
(dbx)

但是,我可以使用 lwps 列出 LWP。在 Solaris 上,线程和 lwps 是否有 1-1 映射?

【问题讨论】:

    标签: multithreading debugging gdb solaris dbx


    【解决方案1】:

    在 Solaris 9 及更高版本上,线程以 1:1 的比例映射到 LWP。在旧版本中,它是一个 M:N 映射。更深入的细节可以在the white paper Multithreading in the Solaris™ Operating Environment 中找到。

    【讨论】:

    • 这是 uname -a 输出。那么它是 Solaris 5.10 吗? SunOS 5.10 Generic_144489-09 i86pc i386 i86pc
    • 还有为什么 dbx 在我调试多线程应用程序时说 MT 支持被禁用
    • @Medicine - SunOS 5.10 是 Solaris 10。(对于 SunOS 5.7 及更高版本,只需删除 '5.' 即可获得 Solaris 版本号。)我不知道为什么 dbx 会这样说,除非您使用的版本不受 Solaris 10 支持。
    【解决方案2】:

    您需要使用 -MT 编译器选项编译软件以获得“多线程”支持。 重新编译(使用 -MT),生成核心转储并再次尝试 dbx。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-28
      • 2019-09-05
      • 2020-06-18
      • 2012-08-07
      • 2021-12-14
      • 2011-06-01
      • 1970-01-01
      相关资源
      最近更新 更多