...
【24h】

Debug All Your Code: Portable Mixed-Environment Debugging

机译:调试所有代码:便携式混合环境调试

获取原文
获取原文并翻译 | 示例
   

获取外文期刊封面封底 >>

       

摘要

Programmers build large-scale systems with multiple languages to reuse legacy code and leverage languages best suited to their problems. For instance, the same program may use Java for ease-of-programming and C to interface with the operating system. These programs pose significant debugging challenges, because programmers need to understand and control code across languages, which may execute in different environments. Unfortunately, traditional multilingual debuggers require a single execution environment. This paper presents a novel composition approach to building portable mixed-environment debuggers, in which an intermediate agent interposes on language transitions, controlling and reusing single-environment debuggers. We implement debugger composition in Blink, a debugger for Java, C, and the Jeannie programming language. We show that Blink is (1) relatively simple: it requires modest amounts of new code; (2) portable: it supports multiple Java Virtual Machines, C compilers, operating systems, and component debuggers; and (3) powerful: composition eases debugging, while supporting new mixed-language expression evaluation and Java Native Interface (JNI) bug diagnostics. In real-world case studies, we show that language-interface errors require single-environment debuggers to restart execution multiple times, whereas Blink directly diagnoses them with one execution. We also describe extensions for other mixed-environments to show debugger composition will generalize.
机译:程序员使用多种语言构建大型系统,以重用旧代码并利用最适合其问题的语言。例如,同一程序可以使用Java来简化编程,并使用C与操作系统进行接口。这些程序带来了重大的调试挑战,因为程序员需要理解和控制可能在不同环境中执行的跨语言代码。不幸的是,传统的多语言调试器需要一个执行环境。本文提出了一种新颖的组合方法,用于构建便携式混合环境调试器,其中中间代理插入了语言转换,控制和重用了单环境调试器。我们在Blink,Java,C和Jeannie编程语言的调试器中实现调试器组合。我们证明,眨眼(1)相对简单:它需要适量的新代码; (2)可移植性:它支持多个Java虚拟机,C编译器,操作系统和组件调试器; (3)功能强大:组合简化了调试,同时支持新的混合语言表达评估和Java Native Interface(JNI)错误诊断。在现实世界的案例研究中,我们表明语言界面错误需要单环境调试器多次重新启动执行,而Blink会通过一次执行直接诊断它们。我们还描述了其他混合环境的扩展,以表明调试器的组成将是通用的。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号