<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/lldb/tools/lldb-dap/JSONUtils.cpp, branch users/fmayer/spr/main.wip-smartpointers</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[lldb-dap] Correct lldb-dap `seq` handling. (#164306)</title>
<updated>2025-10-21T22:21:27+00:00</updated>
<author>
<name>John Harrison</name>
<email>harjohn@google.com</email>
</author>
<published>2025-10-21T22:21:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e29d4ebb89705162b588caf69b45581f1da3a45c'/>
<id>e29d4ebb89705162b588caf69b45581f1da3a45c</id>
<content type='text'>
We've been treating the `seq` attribute incorrectly in lldb-dap.
Previously, we always had `seq=0` for events and responses. We only
filled in the `seq` field on reverse requests.

However, looking at the spec and other DAP implementations, we are
supposed to fill in the `seq` field for each request we send to the DAP
client.

I've updated our usage to fill in `seq` in `DAP::Send` so that all
events/requests/responses have a properly filled `seq` value.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We've been treating the `seq` attribute incorrectly in lldb-dap.
Previously, we always had `seq=0` for events and responses. We only
filled in the `seq` field on reverse requests.

However, looking at the spec and other DAP implementations, we are
supposed to fill in the `seq` field for each request we send to the DAP
client.

I've updated our usage to fill in `seq` in `DAP::Send` so that all
events/requests/responses have a properly filled `seq` value.</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb-dap] Add stdio redirection for integrated and external terminals (#161089)</title>
<updated>2025-10-15T21:24:42+00:00</updated>
<author>
<name>Sergei Druzhkov</name>
<email>serzhdruzhok@gmail.com</email>
</author>
<published>2025-10-15T21:24:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=441587af3f5e126a7273e885b0273d7cf9a81396'/>
<id>441587af3f5e126a7273e885b0273d7cf9a81396</id>
<content type='text'>
This patch extends stdio redirection support to integrated and external
terminals. Currently, these cases are not covered by the standard logic
because `attach` is used instead of `launch`. To be honest,
`runInTerminal` in
[VSCode](https://github.com/microsoft/vscode/blob/main/src/vs/workbench/contrib/debug/node/terminals.ts#L188)
request supports `&gt;` and `&lt;` for redirection, but not `2&gt;`. We could use
the `argsCanBeInterpretedByShell` option to use full power of shell,
however it requieres proper escaping of arguments on lldb-dap side. So,
I think it will be better to have the only one option to control stdio
redirection that works consistently across all console modes.

Also, fixed a small typo in a comparison that was leading to
out-of-bound access, and added `null` as a possible value for `stdio`
array in package.json.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch extends stdio redirection support to integrated and external
terminals. Currently, these cases are not covered by the standard logic
because `attach` is used instead of `launch`. To be honest,
`runInTerminal` in
[VSCode](https://github.com/microsoft/vscode/blob/main/src/vs/workbench/contrib/debug/node/terminals.ts#L188)
request supports `&gt;` and `&lt;` for redirection, but not `2&gt;`. We could use
the `argsCanBeInterpretedByShell` option to use full power of shell,
however it requieres proper escaping of arguments on lldb-dap side. So,
I think it will be better to have the only one option to control stdio
redirection that works consistently across all console modes.

Also, fixed a small typo in a comparison that was leading to
out-of-bound access, and added `null` as a possible value for `stdio`
array in package.json.</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb-dap] support moduleId in the stackTrace response (#149774)</title>
<updated>2025-08-01T12:43:13+00:00</updated>
<author>
<name>woruyu</name>
<email>99597449+woruyu@users.noreply.github.com</email>
</author>
<published>2025-08-01T12:43:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0b9470b329103bcdfe3578d99664974d2a53bf8d'/>
<id>0b9470b329103bcdfe3578d99664974d2a53bf8d</id>
<content type='text'>
This PR resolves https://github.com/llvm/llvm-project/issues/149316

---------

Co-authored-by: Ebuka Ezike &lt;yerimyah1@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR resolves https://github.com/llvm/llvm-project/issues/149316

---------

Co-authored-by: Ebuka Ezike &lt;yerimyah1@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb-dap] Allow returning multiple breakpoints in "stopped" event (#149133)</title>
<updated>2025-07-22T11:43:08+00:00</updated>
<author>
<name>Stephen Tozer</name>
<email>stephen.tozer@sony.com</email>
</author>
<published>2025-07-22T11:43:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d54400559bb6181566030d5f99c6716ea2b2f0a9'/>
<id>d54400559bb6181566030d5f99c6716ea2b2f0a9</id>
<content type='text'>
Currently, the "stopped" event returned when a breakpoint is hit will
always return only the ID of first breakpoint returned from
`GetStopReasonDataAtIndex`. This is slightly different from the
behaviour in `lldb`, where multiple breakpoints can exist at a single
instruction address and all are returned as part of the stop reason when
that address is hit.

This patch allows all multiple hit breakpoints to be returned in the
"stopped" event, both in the hitBreakpointIds field and in the
description, using the same formatting as lldb e.g. "breakpoint 1.1
2.1". I'm not aware of any effect this will have on debugger plugins; as
far as I can tell, it makes no difference within the VS Code UI - this
just fixes a minor issue encountered while writing an `lldb-dap` backend
for Dexter.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, the "stopped" event returned when a breakpoint is hit will
always return only the ID of first breakpoint returned from
`GetStopReasonDataAtIndex`. This is slightly different from the
behaviour in `lldb`, where multiple breakpoints can exist at a single
instruction address and all are returned as part of the stop reason when
that address is hit.

This patch allows all multiple hit breakpoints to be returned in the
"stopped" event, both in the hitBreakpointIds field and in the
description, using the same formatting as lldb e.g. "breakpoint 1.1
2.1". I'm not aware of any effect this will have on debugger plugins; as
far as I can tell, it makes no difference within the VS Code UI - this
just fixes a minor issue encountered while writing an `lldb-dap` backend
for Dexter.</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb-dap] Add external terminal support (#146950)</title>
<updated>2025-07-11T10:14:59+00:00</updated>
<author>
<name>Druzhkov Sergei</name>
<email>serzhdruzhok@gmail.com</email>
</author>
<published>2025-07-11T10:14:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9098bffb0370273e67c76ab996eb4559dcc71f34'/>
<id>9098bffb0370273e67c76ab996eb4559dcc71f34</id>
<content type='text'>
This patch deprecates the `runInTerminal` option in favour of `console`
which allow the user the specify an integrated or external option. </content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch deprecates the `runInTerminal` option in favour of `console`
which allow the user the specify an integrated or external option. </pre>
</div>
</content>
</entry>
<entry>
<title>[lldb-dap] Migrate variables request protocol types. (#147611)</title>
<updated>2025-07-10T17:10:00+00:00</updated>
<author>
<name>John Harrison</name>
<email>harjohn@google.com</email>
</author>
<published>2025-07-10T17:10:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4b6e54a8cf625811f6d817cca284ad87960c2161'/>
<id>4b6e54a8cf625811f6d817cca284ad87960c2161</id>
<content type='text'>
This adds new protocol types for the 'variables' request.

While implementing this, I removed the '$__lldb_extension' field we
returned on the 'variables' request, since I think all the data can be
retrieved from other DAP requests.

---------

Co-authored-by: Jonas Devlieghere &lt;jonas@devlieghere.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds new protocol types for the 'variables' request.

While implementing this, I removed the '$__lldb_extension' field we
returned on the 'variables' request, since I think all the data can be
retrieved from other DAP requests.

---------

Co-authored-by: Jonas Devlieghere &lt;jonas@devlieghere.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb-dap] Use protocol types for modules request and events. (#146966)</title>
<updated>2025-07-08T21:43:53+00:00</updated>
<author>
<name>Ebuka Ezike</name>
<email>yerimyah1@gmail.com</email>
</author>
<published>2025-07-08T21:43:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=03a27230c9b1b3a209a16bd8f82167527674d34d'/>
<id>03a27230c9b1b3a209a16bd8f82167527674d34d</id>
<content type='text'>
Update tests to fix silently failing test and handle when a module is
removed.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update tests to fix silently failing test and handle when a module is
removed.</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb-dap] Prevent using an implicit `step-in`. (#143644)</title>
<updated>2025-07-03T12:12:30+00:00</updated>
<author>
<name>Ebuka Ezike</name>
<email>yerimyah1@gmail.com</email>
</author>
<published>2025-07-03T12:12:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c5f47c6fd2cd9a5d13d20bee2ac7211b28d233e7'/>
<id>c5f47c6fd2cd9a5d13d20bee2ac7211b28d233e7</id>
<content type='text'>
When there is a function that is inlined at the current program counter.
If you get the current `line_entry` using the program counter's address
it will point to the location of the inline function that may be in
another file. (this is in implicit step-in and should not happen what
step over is called).

Use the current frame to get the `line_entry`</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When there is a function that is inlined at the current program counter.
If you get the current `line_entry` using the program counter's address
it will point to the location of the inline function that may be in
another file. (this is in implicit step-in and should not happen what
step over is called).

Use the current frame to get the `line_entry`</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb-dap] Fix source references (#144364)</title>
<updated>2025-06-26T17:22:47+00:00</updated>
<author>
<name>Ebuka Ezike</name>
<email>yerimyah1@gmail.com</email>
</author>
<published>2025-06-26T17:22:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0b8a656ba110884e40e9ec79c936139eb6fce0b6'/>
<id>0b8a656ba110884e40e9ec79c936139eb6fce0b6</id>
<content type='text'>
The
[protocol](https://microsoft.github.io/debug-adapter-protocol//specification.html#Types_Source)
expects that `sourceReference` be less than `(2^31)-1`, but we currently
represent memory address as source reference, this can be truncated
either when sending through json or by the client. Instead, generate new
source references based on the memory address.

Make the `ResolveSource` function return an optional source.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The
[protocol](https://microsoft.github.io/debug-adapter-protocol//specification.html#Types_Source)
expects that `sourceReference` be less than `(2^31)-1`, but we currently
represent memory address as source reference, this can be truncated
either when sending through json or by the client. Instead, generate new
source references based on the memory address.

Make the `ResolveSource` function return an optional source.
</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb-dap] Creating protocol types for setExceptionBreakpoints. (#144153)</title>
<updated>2025-06-17T00:24:48+00:00</updated>
<author>
<name>John Harrison</name>
<email>harjohn@google.com</email>
</author>
<published>2025-06-17T00:24:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6421bd94eabdb71975c75e2c1621a095b3d8b6ad'/>
<id>6421bd94eabdb71975c75e2c1621a095b3d8b6ad</id>
<content type='text'>
This adds new types for setExceptionBreakpoints and adds support for
`supportsExceptionFilterOptions`, which allows exception breakpoints to
set a condition.

While testing this, I noticed that obj-c exception catch breakpoints may
not be working correctly in lldb-dap.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds new types for setExceptionBreakpoints and adds support for
`supportsExceptionFilterOptions`, which allows exception breakpoints to
set a condition.

While testing this, I noticed that obj-c exception catch breakpoints may
not be working correctly in lldb-dap.</pre>
</div>
</content>
</entry>
</feed>
