Skip to content

Commit fa9eb0b

Browse files
authored
Merge pull request #333 from PowerShell/daviwil/debug-fixes
A couple of debug adapter fixes
2 parents 86dd212 + 8b4c978 commit fa9eb0b

File tree

2 files changed

+46
-2
lines changed

2 files changed

+46
-2
lines changed

src/PowerShellEditorServices.Protocol/MessageProtocol/Serializers/V8MessageSerializer.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,11 @@ public JObject SerializeMessage(Message message)
3434
}
3535
else if (message.MessageType == MessageType.Response)
3636
{
37+
int messageId = 0;
38+
int.TryParse(message.Id, out messageId);
39+
3740
messageObject.Add("type", JToken.FromObject("response"));
38-
messageObject.Add("request_seq", JToken.FromObject(message.Id));
41+
messageObject.Add("request_seq", JToken.FromObject(messageId));
3942
messageObject.Add("command", message.Method);
4043

4144
if (message.Error != null)

src/PowerShellEditorServices/Session/RunspaceDetails.cs

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,41 @@ public RunspaceDetails(
104104
PowerShellVersionDetails powerShellVersion,
105105
RunspaceLocation runspaceLocation,
106106
string connectionString)
107+
: this(
108+
runspace.InstanceId,
109+
runspace,
110+
powerShellVersion,
111+
runspaceLocation,
112+
connectionString)
107113
{
108-
this.Id = runspace.InstanceId;
114+
}
115+
116+
/// <summary>
117+
/// Creates a new instance of the RunspaceDetails class.
118+
/// </summary>
119+
/// <param name="instanceId">
120+
/// The InstanceId Guid for the runspace.
121+
/// </param>
122+
/// <param name="runspace">
123+
/// The runspace for which this instance contains details.
124+
/// </param>
125+
/// <param name="powerShellVersion">
126+
/// The PowerShellVersionDetails of the runspace.
127+
/// </param>
128+
/// <param name="runspaceLocation">
129+
/// The RunspaceLocale of the runspace.
130+
/// </param>
131+
/// <param name="connectionString">
132+
/// The connection string of the runspace.
133+
/// </param>
134+
public RunspaceDetails(
135+
Guid instanceId,
136+
Runspace runspace,
137+
PowerShellVersionDetails powerShellVersion,
138+
RunspaceLocation runspaceLocation,
139+
string connectionString)
140+
{
141+
this.Id = instanceId;
109142
this.Runspace = runspace;
110143
this.PowerShellVersion = powerShellVersion;
111144
this.Location = runspaceLocation;
@@ -125,6 +158,7 @@ public static RunspaceDetails Create(Runspace runspace)
125158
{
126159
Validate.IsNotNull(nameof(runspace), runspace);
127160

161+
var runspaceId = runspace.InstanceId;
128162
var runspaceLocation = RunspaceLocation.Local;
129163
var versionDetails = PowerShellVersionDetails.GetVersionDetails(runspace);
130164

@@ -150,6 +184,11 @@ public static RunspaceDetails Create(Runspace runspace)
150184

151185
if (runspace.ConnectionInfo.ComputerName != "localhost")
152186
{
187+
runspaceId =
188+
PowerShellContext.ExecuteScriptAndGetItem<Guid>(
189+
"$host.Runspace.InstanceId",
190+
runspace);
191+
153192
runspaceLocation = RunspaceLocation.Remote;
154193
connectionString =
155194
runspace.ConnectionInfo.ComputerName +
@@ -159,6 +198,7 @@ public static RunspaceDetails Create(Runspace runspace)
159198

160199
return
161200
new RunspaceDetails(
201+
runspaceId,
162202
runspace,
163203
versionDetails,
164204
runspaceLocation,
@@ -185,6 +225,7 @@ public static RunspaceDetails CreateAttached(
185225
{
186226
RunspaceDetails newRunspace =
187227
new RunspaceDetails(
228+
attachedRunspaceId,
188229
runspaceDetails.Runspace,
189230
runspaceDetails.PowerShellVersion,
190231
runspaceDetails.Location,

0 commit comments

Comments
 (0)