一句话:针对优化后可执行文件中不完整的调试信息,提出检测方法以发现导致调试器状态不一致的变量缺失实例。
优化后的可执行文件常附带调试信息,但优化会大幅改变程序结构,导致调试信息不正确或不完整。这类问题会使源码级调试器展示出与实际运行状态不一致的程序视图,从而误导用户进行崩溃分析等关键任务。近期已有工作提出识别错误调试信息实例的有效方法。本文聚焦于“不完整调试信息”——即变量位置等信息缺失的情况,标题以“我的变量去哪儿了?”形象地指出该问题。作者旨在检测此类不完整实例,以揭示调试信息中的“空洞”。摘要主要陈述了问题背景与动机,未详述具体方法与评估结果,但问题场景明确为优化后的可执行文件。
The availability of debug information for optimized executables can largely ease crucial tasks such as crash analysis. Source-level debuggers use this information to display program state in terms of source code, allowing users to reason on it even when optimizations alter program structure extensively. A few recent endeavors have proposed effective methodologies for identifying incorrect instances of debug information, which can mislead users by presenting them with an inconsistent program state.
@inproceedings{paperbot10049,
title = {Where Did My Variable Go? Poking Holes in Incomplete Debug Information},
author = {Cristian Assaiante and Daniele Cono D'Elia and Giuseppe Antonio Di Luna and Leonardo Querzoni},
booktitle = {ASPLOS},
year = {2023},
doi = {10.1145/3575693.3575720}
}