Javascript 如何在windbg脚本中并行执行命令?

Javascript 如何在windbg脚本中并行执行命令?,javascript,asynchronous,windbg,Javascript,Asynchronous,Windbg,我有一个用JavaScript编写的windbg脚本,它从内存转储中获取所有方法表。如何异步发出ExecuteCommand,使其并行执行?循环电流需要两个小时!(我们有一个巨大的应用程序) 我尝试过承诺,但它不支持。我尝试了屈服,但似乎仍然需要两个小时,好像ExecuteCommand正在阻塞。感谢您的帮助!谢谢大家! 不幸的是,许多调试引擎本质上是单线程的。没有一种方法可以并行执行多个命令。根据定义,ExecuteCommand桥在命令完成之前是“阻塞”的,因为它将在该命令执行期间捕获所有调

我有一个用JavaScript编写的windbg脚本,它从内存转储中获取所有方法表。如何异步发出ExecuteCommand,使其并行执行?循环电流需要两个小时!(我们有一个巨大的应用程序)


我尝试过承诺,但它不支持。我尝试了屈服,但似乎仍然需要两个小时,好像ExecuteCommand正在阻塞。感谢您的帮助!谢谢大家!

不幸的是,许多调试引擎本质上是单线程的。没有一种方法可以并行执行多个命令。根据定义,ExecuteCommand桥在命令完成之前是“阻塞”的,因为它将在该命令执行期间捕获所有调试器输出,并将其作为字符串数组返回给调用者。

IMHO不可能直接执行

但是,您可以尝试一种分而治之的方法,同时打开x个转储,在每个转储上运行1/xth的命令并聚合结果

如果您有机会拆分命令,这应该是可行的

示例:

  • 而不是
    x**
    您可以运行命令
    x*!a*
    x*!b*
    等,在26个并行转储上
  • 而不是
    !对于每个线程“command”
    ,您可以在转储中的线程数量相同的转储上运行
    command