[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-83044-en":3,"doc-seo-83044-105":29,"detail-sidebar-cat-0-en-105":90},{"code":4,"msg":5,"data":6},0,"success",{"doc_id":7,"user_id":8,"nickname":9,"user_avatar":10,"doc_module":4,"category_id":11,"category_name":12,"doc_title":13,"doc_description":14,"doc_content":15,"file_id":16,"file_url":17,"file_type":18,"file_size":19,"view_count":4,"is_deleted":4,"is_public":20,"is_downloadable":20,"audit_status":20,"page_count":21,"language":22,"language_code":23,"site_id":24,"html_lang":23,"table_of_contents":25,"faqs":26,"seo_title":13,"seo_description":14,"update_tm":27,"read_time":28},83044,13056703019404,"Miles","https://ap-avatar.wpscdn.com/davatar_29158cc5080c5b710cf443261637dec0",8,"Research & Report","DDB: Source-Level Interactive Debugging for Distributed Applications","Interactive debugging enables developers to pause at source level, inspect call stacks, and analyze runtime state, yet it is largely impractical for distributed systems. DDB addresses the key failures of cross-process debugging by unifying call stacks across RPC boundaries, coordinating breakpoint lifecycles across dynamic process sets, and virtualizing each process clock to prevent timeout cascades. It integrates with major RPC frameworks in minimal code and delivers low backtrace latency, safe repeated pausing, and strong fault localization success in evaluation.","DDB: Source-Level Interactive Debugging for Distributed Applications  \nYibo Yan  \nUniversity of Southern California Los Angeles, USA  \nJunzhou He  \nUniversity of Southern California Los Angeles, USA  \nSeo Jin Park  \nUniversity of Southern California Los Angeles, USA  \narXiv :2607 .06 107v 1 [ cs .DC] 7 Jul 2026  \nAbstract  \nInteractive debugging is an effective tool for understanding program behavior at the source level, allowing developers to pause execution, navigate the call stack, and inspect runtime state. However, interactive debuggers are designed for single-process execution, and interactive debugging has been widely considered impractical for distributed systems. Call stacks stop at process boundaries, debugging state fails to survive infrastructure dynamics, and, most critically, debuggerinduced execution pauses trigger catastrophic timeout cascades that destroy the intended debug flow. Consequently, developers are forced to abandon live hypothesis testing in favor of unwieldy and iterative log-and-redeploy cycles.  \nWe present DDB, a source-level interactive debugger that extends interactive debugging capabilities to distributed applications. We show that each of these challenges admits a targeted solution. To bridge disjoint processes, Distributed Backtrace (DBT) embeds compact causality metadata in every RPC and reconstructs a unified call stack across RPC boundaries. To manage the lifecycle of a distributed session, an intent-preserving control plane automatically coordinates and propagates breakpoints across dynamic process sets. To make pausing safe, Pause-Erased Time (PET) virtualizes each process’s clock, decoupling logical time from physical pauses and preventing timeout cascades. DDB integrates with an RPC framework in 10–60 lines of code. Evaluated on gRPC, ServiceWeaver, Nu, and Quicksand across up to 122 processes, DDB achieves 30 ms median cross-RPC backtrace latency, sub-5 ms time jump under repeated execution pauses, and adds 1–5% throughput overhead, comparable to attaching a single-process debugger. In a controlled user study, DDB achieves a 100% fault localization success rate (compared to 38.5% for baseline tools) with a median localization time of ∼8 minutes.  \n1 Introduction  \nServerless platforms, microservice architectures, and modular programming frameworks increasingly decompose what was once a single-process application into code that executes across multiple services and machines [38, 42, 48] . This trend spans actor frameworks [1, 24, 60], distributed application runtimes [18], serverless platforms [48, 73], memorydisaggregated runtimes [70, 72, 78], and modular programming frameworks that let developers write applications as logical monoliths while the runtime transparently distributes  \nHigher Expertise  Wider Audience  \nTime  \nFigure 1. Distributed programming paradigms and infrastructure have become much more accessible to ordinary application developers. The adoption of distributed programming has increased and the required expertise barriers have dropped substantially.  \nexecution across processes [42, 71] . The result is that application developers—who may have no profound expertise in distributed systems—are now routinely writing code whose execution spans dozens of processes. As these paradigms and infrastructure have emerged, the expertise barriers to adopting distributed programming have dropped substantially, as depicted in Figure 1 .  \nFor debugging single-process programs, a developer attaches a debugger (e.g., GDB [19], LLDB [10]), sets breakpoints, and inspects call stacks, variables, and caller state—a tight hypothesis–inspect–refine loop for understanding why code misbehaves. Once an application becomes distributed, this workflow collapses. A breakpoint in one process reveals nothing about the remote callers that triggered the current execution: the chain of upstream RPCs, the arguments they passed, and their runtime state remain invisible. Attaching separate debuggers t","cbCaisTEnf8arDCy","https://ap.wps.com/l/cbCaisTEnf8arDCy","pdf",1790009,1,21,"English","en",105,"# Abstract\n# Introduction\n## Challenges in distributed interactive debugging\n## Limits of existing tools and diagnostics","[{\"question\":\"Why is interactive debugging considered impractical for distributed systems?\",\"answer\":\"Call stacks and debugging state break at process boundaries, debugger-induced pauses can disrupt distributed failure-detection mechanisms, and the resulting timeout cascades destroy the intended live debug workflow.\"},{\"question\":\"How does DDB unify cross-RPC debugging at the source level?\",\"answer\":\"DDB uses Distributed Backtrace (DBT) to embed compact causality metadata in each RPC and reconstruct a unified call stack across RPC boundaries.\"},{\"question\":\"How does DDB prevent pauses from causing catastrophic timeout cascades?\",\"answer\":\"DDB applies Pause-Erased Time (PET) by virtualizing each process’s clock so logical time is decoupled from physical pauses, preventing timeout cascades during debugging.\"}]",1784184839,53,{"code":4,"msg":30,"data":31},"ok",{"site_id":24,"language":23,"slug":32,"title":13,"keywords":33,"description":14,"schema_data":34,"social_meta":85,"head_meta":87,"extra_data":89,"updated_unix":27},"ddb-source-level-interactive-debugging-for-distributed-applications","",{"@graph":35,"@context":84},[36,53,67],{"@type":37,"itemListElement":38},"BreadcrumbList",[39,43,47,50],{"item":40,"name":41,"@type":42,"position":20},"https://docshare.wps.com","Home","ListItem",{"item":44,"name":45,"@type":42,"position":46},"https://docshare.wps.com/document/","Document",2,{"item":48,"name":12,"@type":42,"position":49},"https://docshare.wps.com/document/research-report/",3,{"item":51,"name":13,"@type":42,"position":52},"https://docshare.wps.com/document/ddb-source-level-interactive-debugging-for-distributed-applications/83044/",4,{"url":51,"name":13,"@type":54,"author":55,"headline":13,"publisher":57,"fileFormat":60,"inLanguage":23,"description":14,"dateModified":61,"datePublished":61,"encodingFormat":60,"isAccessibleForFree":62,"interactionStatistic":63},"DigitalDocument",{"name":9,"@type":56},"Person",{"url":40,"name":58,"@type":59},"DocShare","Organization","application/pdf","2026-07-16",true,{"@type":64,"interactionType":65,"userInteractionCount":4},"InteractionCounter",{"@type":66},"ViewAction",{"@type":68,"mainEntity":69},"FAQPage",[70,76,80],{"name":71,"@type":72,"acceptedAnswer":73},"Why is interactive debugging considered impractical for distributed systems?","Question",{"text":74,"@type":75},"Call stacks and debugging state break at process boundaries, debugger-induced pauses can disrupt distributed failure-detection mechanisms, and the resulting timeout cascades destroy the intended live debug workflow.","Answer",{"name":77,"@type":72,"acceptedAnswer":78},"How does DDB unify cross-RPC debugging at the source level?",{"text":79,"@type":75},"DDB uses Distributed Backtrace (DBT) to embed compact causality metadata in each RPC and reconstruct a unified call stack across RPC boundaries.",{"name":81,"@type":72,"acceptedAnswer":82},"How does DDB prevent pauses from causing catastrophic timeout cascades?",{"text":83,"@type":75},"DDB applies Pause-Erased Time (PET) by virtualizing each process’s clock so logical time is decoupled from physical pauses, preventing timeout cascades during debugging.","https://schema.org",{"og:url":51,"og:type":86,"og:title":13,"og:site_name":58,"og:description":14},"article",{"robots":88,"canonical":51},"index,follow",{"doc_id":7,"site_id":24},{"code":4,"msg":5,"data":91},[92,96,100,104,109,114,119,122,127,130,134],{"id":20,"doc_module":4,"doc_module_name":45,"category_name":93,"show_sort_weight":94,"slug":95},"Story & Novel",90,"story-novel",{"id":46,"doc_module":4,"doc_module_name":45,"category_name":97,"show_sort_weight":98,"slug":99},"Literature",80,"literature",{"id":52,"doc_module":4,"doc_module_name":45,"category_name":101,"show_sort_weight":102,"slug":103},"Exam",70,"exam",{"id":105,"doc_module":4,"doc_module_name":45,"category_name":106,"show_sort_weight":107,"slug":108},5,"Comic",60,"comic",{"id":110,"doc_module":4,"doc_module_name":45,"category_name":111,"show_sort_weight":112,"slug":113},6,"Technology",50,"technology",{"id":115,"doc_module":4,"doc_module_name":45,"category_name":116,"show_sort_weight":117,"slug":118},7,"Healthcare",40,"healthcare",{"id":11,"doc_module":4,"doc_module_name":45,"category_name":12,"show_sort_weight":120,"slug":121},30,"research-report",{"id":123,"doc_module":4,"doc_module_name":45,"category_name":124,"show_sort_weight":125,"slug":126},9,"Religion & Spirituality",20,"religion-spirituality",{"id":125,"doc_module":4,"doc_module_name":45,"category_name":128,"show_sort_weight":125,"slug":129},"World Cup","world-cup",{"id":131,"doc_module":4,"doc_module_name":45,"category_name":132,"show_sort_weight":131,"slug":133},10,"Lifestyle","lifestyle",{"id":135,"doc_module":4,"doc_module_name":45,"category_name":136,"show_sort_weight":105,"slug":137},19,"General","general"]