{"ref":"capability:debugging","page":"/capabilities/debugging","json":"/capabilities/debugging.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"debugging","name":"Debugging","domain":"developer-experience","ecosystems":["cap","abap"],"universal":false,"description":"Seeing what running code did between an input arriving and a result coming out: which code ran, what the values were at each point, and why a value ended up as it did.","short":"Seeing what running code did between input and result","core_coverage":{"state":"core-and-community","what_core_does":"SAP ships it as tools and plugins beside the runtime: `cds debug` from [@sap/cds-dk](artifact:sap-cds-dk) starts a local application in debug mode or puts a running one on Cloud Foundry into it; [@cap-js/data-inspector](artifact:cap-js-data-inspector) shows database entities and their contents at the CAP service level, so authorization and audit logging apply to the inspection; [@cap-js/console](artifact:cap-js-console) and [cds-feature-console](artifact:cap-java-cds-feature-console) connect a running application to the CAP console; and [cds-feature-dev-dashboard](artifact:cap-java-cds-feature-dev-dashboard) is a developer dashboard for CAP Java, forbidden in production by its own page.","where_it_stops":"It stops at inspecting data. Seeing which handlers ran, how a query was rewritten and why a value came out as it did still means reading framework source.","sources":[{"url":"https://cap.cloud.sap/docs/plugins/#data-inspector","title":"CAP plugins — Data Inspector","checked":"2026-08-31"},{"url":"https://cap.cloud.sap/docs/tools/cds-cli#debugging-with-cds-debug","title":"CDS Command Line Interface — capire","checked":"2026-09-27","quote":"cds debug lets you debug applications running locally or remotely on SAP BTP Cloud Foundry. Local applications will be started in debug mode, while (already running) remote applications are put into debug mode."},{"url":"https://cap.cloud.sap/docs/plugins/#data-inspector","title":"CAP Plugins & Enhancements — capire","checked":"2026-09-27","quote":"The Node.js plugin @cap-js/data-inspector allows you to inspect data from database entities and service definitions in a CAP application in local and production environments."},{"url":"https://cap.cloud.sap/docs/java/operating-applications/dashboard","title":"Developer Dashboard (CAP Java) — capire","checked":"2026-09-27","quote":"The CAP Developer Dashboard simplifies development by providing a centralized point where developers can efficiently manage and monitor their CAP applications."}],"assessed_at":"2026-09-27","relationship":"narrow-by-design","community_adds":"Community tools reach the questions the core leaves open: [sap-cap-debugger](artifact:hatrigt-sap-cap-debugger) attaches a Node debugger to a CAP application already running on Cloud Foundry, and [@saptools/service-flow](artifact:saptools-service-flow) traces one CAP operation through handlers, database access and remote calls without running anything."},"coverage_by_ecosystem":{"abap":{"state":"core-and-community","assessed_at":"2026-09-13","what_core_does":"The ABAP Debugger stops a running program and shows up to four tools at once on its desktops; debugger scripting automates it from inside, stepping, reading and changing values and writing custom traces.","where_it_stops":"At the current step. The documentation checked describes no way back to a step already passed, in the debugger or in a script.","sources":[{"url":"https://help.sap.com/doc/saphelp_nw73ehp1/7.31.19/en-US/69/d33c5bd839445e96a312dbf074d742/content.htm","title":"SAP Help — New and Classic ABAP Debugger: Main Differences","checked":"2026-09-13","quote":"the user can display and arrange up to four tools of their choice at the same time"},{"url":"https://help.sap.com/doc/saphelp_nw75/7.5.5/en-US/68/c9bbb62be34d2eaac1c5d3ccd2ba48/content.htm","title":"SAP Help — Debugger Scripting","checked":"2026-09-13","quote":"script can execute thousands of Debugger steps or get variable values or change variable values"}],"relationship":"unassessed","community_adds":"Community debugger scripts and extensions sit on the debugger's own scripting: [Smart Debugger](artifact:ysichov-smart-debugger) records every step so execution can be stepped backwards, and [abap_debugger_object_graph_extension](artifact:marcellourbani-abap-debugger-object-graph-extension) and [ABAP-Object-Visualizer](artifact:larshp-abap-object-visualizer) draw an object as a Graphviz graph. [dbg_value_statement](artifact:alaible-dbg-value-statement) turns a variable into the VALUE statement that recreates it, and [dump_info](artifact:appknight-dump-info) shows the variables a short dump captured."}},"framing_by_ecosystem":{"cap":{"description":"Seeing what the framework did between a request arriving and a query being issued — which handlers ran, how the query was rewritten, why a value ended up as it did."},"abap":{"description":"Seeing what an ABAP program did at runtime in the system it runs in: the variables, internal tables and object instances at a step, the calls that led there, and where a value changed."}},"coverage_by_flavor":{"abap-cloud":{"state":"core-only","assessed_at":"2026-09-14","what_core_does":"SAP's own troubleshooting guidance for apps built with the ABAP RESTful Application Programming Model names the ABAP Debugger as one of a set of Eclipse-based views in ABAP Development Tools, alongside the ADT Feed Reader and the ABAP runtime Error Log, for analysing semantic, functional and performance issues.","where_it_stops":"Only ADT reaches it: ABAP Cloud carries no SAP GUI access, so the classic ABAP Debugger and the transactions built on it (SE80, SE24 among them) are not there, and ABAP Development Tools for Eclipse is the one place a breakpoint is set or a variable inspected.","sources":[{"url":"https://pages.community.sap.com/topics/abap-testing-analysis/troubleshooting","title":"SAP Community — Troubleshooting Tools for RAP-based Apps","checked":"2026-09-14","quote":"a set of troubleshooting tools – such as the ADT Feed Reader, ABAP runtime Error Log, and the ABAP Debugger – is available in the form of Eclipse-based views"},{"url":"https://raw.githubusercontent.com/SAP-samples/abap-cheat-sheets/main/19_ABAP_for_Cloud_Development.md","title":"SAP-samples/abap-cheat-sheets — ABAP for Cloud Development","checked":"2026-09-14","quote":"ABAP development tools for Eclipse (ADT) are the only supported tools. There is no access to SAP GUI (transactions SE80, SE24 etc. you may know from classic ABAP)."}]}},"history":[{"date":"2026-08-31","field":"core_coverage.state","from":"left-open-on-purpose","to":"core-and-community","reason":"States renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately."},{"date":"2026-09-13","field":"ecosystems","from":"cap","to":"cap, abap","reason":"Widened rather than forked: debugging an ABAP program is the same concern, so the node's description became the cross-ecosystem sentence, the CAP wording moved to framing_by_ecosystem.cap, and ABAP got its own framing and coverage. Done so Smart Debugger (staged in intake-20260913-ysichov) can provide it."},{"date":"2026-09-14","field":"coverage_by_flavor.abap-cloud","from":null,"to":"core-only","reason":"Assessed for the ABAP Cloud flavor: SAP's own troubleshooting guidance for RAP apps places the ABAP Debugger inside ABAP Development Tools, and the only ABAP-door provider in the corpus, Smart Debugger, states standard-abap only and runs in the SAP GUI New Debugger, not ADT — so no provider states abap-cloud and the core is SAP's own."},{"date":"2026-09-27","field":"core_coverage","from":"before the package pass","to":"after it","reason":"Package pass 2026-09-27: the paragraph named one of the four SAP packages and cited the plugins index only; cds debug and the Java developer dashboard were cited nowhere."},{"date":"2026-10-26","field":"core_coverage.what_core_does","from":"Four SAP packages, none of them the runtime: `cds debug` from ...","to":"SAP ships it as tools and plugins beside the runtime: `cds debug` from ...","reason":"Reassessed against the graph (check:capabilities): the opening counted SAP packages; the list that follows is unchanged."},{"date":"2026-10-26","field":"core_coverage.community_adds","from":null,"to":"Community tools reach the questions the core leaves open: sap-cap-debugger attaches a Node debugger to a running Cloud Foundry application, and @saptools/service-flow traces one CAP operation without running anything.","reason":"Reassessed against the graph (check:capabilities): community CAP providers answer the boundary the block names (which handlers ran, why a value came out), and the block said nothing of them. State stays core-and-community."},{"date":"2026-10-26","field":"coverage_by_ecosystem.abap.community_adds","from":null,"to":"Community debugger scripts and extensions sit on the debugger's own scripting: Smart Debugger steps backwards, two draw an object as a Graphviz graph, and others turn a variable into a VALUE statement or show a dump's variables.","reason":"Reassessed against the graph (check:capabilities): seven ABAP providers newer than the block were never named. State stays core-and-community."}],"drafted_with_ai":true},"sap_delivery":{"door":"cap","all":{"built_in":[],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:cap-js-console","name":"@cap-js/console","json":"/artifacts/cap-js-console.json"},{"ref":"artifact:cap-js-data-inspector","name":"@cap-js/data-inspector","json":"/artifacts/cap-js-data-inspector.json"},{"ref":"artifact:sap-cds-dk","name":"@sap/cds-dk","json":"/artifacts/sap-cds-dk.json"},{"ref":"artifact:cap-java-cds-feature-console","name":"com.sap.cds:cds-feature-console","json":"/artifacts/cap-java-cds-feature-console.json"},{"ref":"artifact:cap-java-cds-feature-dev-dashboard","name":"com.sap.cds:cds-feature-dev-dashboard","json":"/artifacts/cap-java-cds-feature-dev-dashboard.json"}]},"by_flavor":{"node":{"built_in":[],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:cap-js-console","name":"@cap-js/console","json":"/artifacts/cap-js-console.json"},{"ref":"artifact:cap-js-data-inspector","name":"@cap-js/data-inspector","json":"/artifacts/cap-js-data-inspector.json"},{"ref":"artifact:sap-cds-dk","name":"@sap/cds-dk","json":"/artifacts/sap-cds-dk.json"}]},"java":{"built_in":[],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:cap-java-cds-feature-console","name":"com.sap.cds:cds-feature-console","json":"/artifacts/cap-java-cds-feature-console.json"},{"ref":"artifact:cap-java-cds-feature-dev-dashboard","name":"com.sap.cds:cds-feature-dev-dashboard","json":"/artifacts/cap-java-cds-feature-dev-dashboard.json"}]}}},"edges":{"use_cases":[],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:cap-js-console","name":"@cap-js/console","json":"/artifacts/cap-js-console.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:cap-js-data-inspector","name":"@cap-js/data-inspector","json":"/artifacts/cap-js-data-inspector.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:sap-cds-dk","name":"@sap/cds-dk","json":"/artifacts/sap-cds-dk.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:saptools-cf-debugger","name":"@saptools/cf-debugger","json":"/artifacts/saptools-cf-debugger.json","ecosystem":"btp","origin_ring":"independent"},{"ref":"artifact:saptools-cf-explorer","name":"@saptools/cf-explorer","json":"/artifacts/saptools-cf-explorer.json","ecosystem":"btp","origin_ring":"independent"},{"ref":"artifact:saptools-cf-function-trace","name":"@saptools/cf-function-trace","json":"/artifacts/saptools-cf-function-trace.json","ecosystem":"btp","origin_ring":"independent"},{"ref":"artifact:saptools-cf-hana","name":"@saptools/cf-hana","json":"/artifacts/saptools-cf-hana.json","ecosystem":"btp","origin_ring":"independent"},{"ref":"artifact:saptools-cf-inspector","name":"@saptools/cf-inspector","json":"/artifacts/saptools-cf-inspector.json","ecosystem":"btp","origin_ring":"independent"},{"ref":"artifact:saptools-cf-live-trace","name":"@saptools/cf-live-trace","json":"/artifacts/saptools-cf-live-trace.json","ecosystem":"btp","origin_ring":"independent"},{"ref":"artifact:saptools-cf-request-runner","name":"@saptools/cf-request-runner","json":"/artifacts/saptools-cf-request-runner.json","ecosystem":"cap","origin_ring":"independent"},{"ref":"artifact:saptools-service-flow","name":"@saptools/service-flow","json":"/artifacts/saptools-service-flow.json","ecosystem":"cap","origin_ring":"independent"},{"ref":"artifact:marcellourbani-vscode-abap-remote-fs","name":"ABAP remote filesystem","json":"/artifacts/marcellourbani-vscode-abap-remote-fs.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:marcellourbani-abap-debugger-object-graph-extension","name":"abap_debugger_object_graph_extension","json":"/artifacts/marcellourbani-abap-debugger-object-graph-extension.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:larshp-abap-object-visualizer","name":"ABAP-Object-Visualizer","json":"/artifacts/larshp-abap-object-visualizer.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:freight-art-abapsmith","name":"abapsmith","json":"/artifacts/freight-art-abapsmith.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:cap-java-cds-feature-console","name":"com.sap.cds:cds-feature-console","json":"/artifacts/cap-java-cds-feature-console.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:cap-java-cds-feature-dev-dashboard","name":"com.sap.cds:cds-feature-dev-dashboard","json":"/artifacts/cap-java-cds-feature-dev-dashboard.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:alaible-dbg-value-statement","name":"dbg_value_statement","json":"/artifacts/alaible-dbg-value-statement.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:appknight-dump-info","name":"dump_info","json":"/artifacts/appknight-dump-info.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:marcellourbani-graphviz-browser","name":"Graphviz-browser","json":"/artifacts/marcellourbani-graphviz-browser.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:hatrigt-sap-cap-debugger","name":"sap-cap-debugger","json":"/artifacts/hatrigt-sap-cap-debugger.json","ecosystem":"cap","origin_ring":"independent"},{"ref":"artifact:ysichov-smart-debugger","name":"Smart Debugger","json":"/artifacts/ysichov-smart-debugger.json","ecosystem":"abap","origin_ring":"independent"}],"samples":[{"ref":"artifact:sap-samples-teched2025-dt266","name":"SAP-samples/teched2025-DT266","json":"/artifacts/sap-samples-teched2025-dt266.json"}],"explained_by":[{"ref":"content:abap-create-dump","name":"ABAP - Create dump","json":"/content/abap-create-dump.json"},{"ref":"content:debugging-in-abap-development-tool-part-1","name":"Debugging in ABAP Development Tool (Part 1)","json":"/content/debugging-in-abap-development-tool-part-1.json"},{"ref":"content:my-cap-projects-toolbox","name":"My CAP Projects Toolbox","json":"/content/my-cap-projects-toolbox.json"},{"ref":"content:surviving-and-thriving-with-the-sap-cloud-application-programming-model-local-de","name":"Surviving and Thriving with the SAP Cloud Application Programming Model: Local development hurdles","json":"/content/surviving-and-thriving-with-the-sap-cloud-application-programming-model-local-de.json"},{"ref":"content:debug-a-cap-app-with-ui5-typescript-ui-component-with-vs-code","name":"debug a CAP app with UI5 TypeScript UI component with VS Code","json":"/content/debug-a-cap-app-with-ui5-typescript-ui-component-with-vs-code.json"},{"ref":"content:sap-tutorial-cap-intro-to-repl","name":"Get an introduction to the cds REPL","json":"/content/sap-tutorial-cap-intro-to-repl.json"},{"ref":"content:teched-2026-ad261","name":"SAP BAIP, ABAP environment: Monitoring and troubleshooting","json":"/content/teched-2026-ad261.json"}],"normative_context":[]}}