【问题标题】:In Git Bash how to trace a non-git command?在 Git Bash 中如何跟踪非 git 命令?
【发布时间】:2022-07-09 18:04:36
【问题描述】:

我在 Git Bash 中运行安装脚本。脚本似乎挂起。

如果这发生在 Linux 中,我会使用 strace 命令来查看进程卡在哪里。

在 Git Bash 或一般的 Windows 中是否有类似的东西?

Git Bash 在 Windows 中的许多地方都可以看到,例如单独运行或嵌入到 VS Code 中。

澄清:

  • 这不是关于跟踪具有调试模式的 Git 命令。
  • 这是关于 Git Bash 或 Windows 中所有命令的通用跟踪方法 10.

我的 Git Bash 是

$ uname -a
MINGW64_NT-10.0-19044 mypc 3.1.6-340.x86_64 2020-07-09 14:33 UTC x86_64 Msys

谢谢

【问题讨论】:

    标签: git-bash


    【解决方案1】:

    这是关于 Git Bash 或 Windows 10 中所有命令的通用跟踪方法。

    所以,既然Git TRACE2单独与你无关,你可以试试rabbitstack/fibratus

    Fibratus 是用于探索和跟踪 Windows 内核的工具。

    它允许您捕获系统范围的事件,例如进程生命周期、文件系统 I/O、注册表修改或网络请求以及许多其他可观察性信号。

    简而言之,Fibratus 不仅可以深入了解 Windows 内核的操作,还可以查看在其上运行的进程。

    您仍然需要准确配置此工具将捕获的内容。

    NedoFibratus的作者(GitHub账号bhnedo)添加the comments

    Fibratus 依赖于内部 Windows 跟踪机制。
    这意味着您的机器上没有安装内核驱动程序。

    您需要一个简单的过滤器表达式,将fibratus 运行为 (String filter operator):

    fibratus run ps.name icontains 'git'
    

    【讨论】:

    • 谢谢@VonC。这似乎是一个非常强大的工具,强大到我担心它会给我的 PC 带来安全风险。我正在调查。
    • 作者在这里。 Fibratus 依赖于内部 Windows 跟踪机制。这意味着您的机器上没有安装内核驱动程序。您需要一个简单的过滤器表达式,将 fibratus 运行为: fibratus run ps.name icontains 'git'。让我知道这是否有用。
    • @Nedo 很有用,谢谢。我已将您的评论包含在答案中以提高知名度。
    猜你喜欢
    • 2017-07-06
    • 2021-03-17
    • 2012-09-29
    • 2011-08-26
    • 2018-11-16
    • 2015-05-22
    • 1970-01-01
    • 2021-09-12
    • 2014-08-20
    相关资源
    最近更新 更多