Skip to content

task tracer 信号追踪问题讨论 #3015

@CodeZHXS

Description

@CodeZHXS

task tracer 目前有 ContextTraceSignalTrace 两种回溯方式,SignalTrace 将信号发送给目标进程,目标进程处理信号的同时,将运行上下文 context 发送给 SignalTrace 的进程。

SignalHandler 函数启用了一个超时的时间(默认是 50ms),如果回溯超时,SignalHandler 会直接退出并结束。

Image

这种方式会不会存在问题?例如,如果 SignalTraceunw_init_local 之前,SignalHandler 就超时并退出了,这样的话 context 的内容难以保证不被修改,unw_init_local 可能会失败,或者存在 crash 的问题

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions