TU Wien Informatics

20 Years

Adrian Prantl: Debug Info for Concurrency

  • 2024-04-12
  • Research

Join Dr. Adrian Prantl from Apple in Cupertino, CA, USA for a deep dive into the seamless debugging experience for Swift async functions with LLVM/LLDB.

Adrian Prantl: Debug Info for Concurrency
Picture: Siarhai / stock.adobe.com

Abstract

In his keynote “The State of Debugging in 2022” at SPLASH´22, Robert O´Callahan calls out that no pairing of debugger and compiler attempted to support a debugging experience for async/await language constructs. But can this be done? In this talk we will describe how we co-designed the queue mechanism in the runtime, the ABI and the debug info generated by the compiler, and the debugger itself to create a seamless debugging experience for Swift async functions that allows stepping in and out of asynchronous functions and displaying virtual backtraces, by using existing LLVM debug info features in a new context.

About Adrian Prantl

Adrian Prantl obtained his diploma and doctoral degree from TU Wien in 2006 and 2010. After working as a post-doctoral researcher at Lawrence Livermore National Laboratory, he joined Apple in 2013 to work on LLVM and soon also the Swift programming language that was being newly developed at the time. Today he is the engineering manager of Apple’s Debugger Compiler Integration team. His work is at the intersection of compilers and debuggers: from generating debug info in the Clang and Swift compilers all the way to using it in the compiler-based language plugins in the LLDB debugger.

Curious about our other news? Subscribe to our news feed, calendar, or newsletter, or follow us on social media.