Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [theia-dev] Debugger architecture musings
  • From: Paul Marechal <paul.marechal@xxxxxxxxxxxx>
  • Date: Fri, 8 Oct 2021 14:08:34 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YX7GetQLlf19FUP7sewBb+71UdCslYA8HDAEQkmUC8Q=; b=AzjoBczqimQ/90MyIBW/7F1dfnjb66FZNz1ivS53TyNJ0G3/4xl/0vO1B+JA2e5y0UqAx8V0MbgK8bQDRymjCa33YqFEFpLyeI+7Ui2eZ3oqG7MFpVh2hcGHOhrp7GCU2VaEGabvO6E0Q/S7Ha+tlHdm3CBKDJ7bzlI7xtn8fOl3T7OGYhlUry9lluu3aRLQm743tY/5c4bUPoKSrZ20hP85Eu8051NIvbFwW36akiuC1cZmdg1UFBnoiCYet+4pNcDx0KTPu6DRtvc2lZdssF5fninVNhlFk0liGZLnK2UYIPKQ4x8ajSRpTosr/grWgRFkB3Gvz2Of9nthxV3AGg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bUdgwrECK4kerMTZJ+cQlcwlyyc79OcvPgWLWqTL9ITJ8ioAIQ0zneOnwnrTH8Fo67MRZ25T5XvYybbdqq0Irmplw4Z3srSbN1nLhn/i/KKecCjR6avy151SK/eGqPBwzgTy/++zJ9SLsBHn9ghG6P9WUa/IyhTnOrykBSOyg4vj1jyfp3o3d4Irlo69hhhOsOGsDBzSR8NRyEFO3Vkm1t9hS5JWtJNDMTFwRjCzbuZf97n0ClOlNyeV+VfrSAAfm2ZJ9T9KN1BMHgPCU4QCvMx+Xfc/s2ijhOfV2e9osvDRdtRTR9LrjuRQ3rBNAaiTQX6ipzNqnVWruLf9idvvYg==
  • Delivered-to: theia-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/theia-dev/>
  • List-help: <mailto:theia-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/theia-dev>, <mailto:theia-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/theia-dev>, <mailto:theia-dev-request@eclipse.org?subject=unsubscribe>
  • Suggested_attachment_session_id: 6347a83f-7e89-2060-b686-41d18b2d0463
  • Thread-index: AQHXvEyxOMrb+lV65EeCc5Qdlj5ZAqvJIRET
  • Thread-topic: [theia-dev] Debugger architecture musings

You got me at "simplify".

Regarding 1) if we move the DebugService to the frontend then debug sessions will have even more reasons to be destroyed. If we want persistence of those, we need to at least persist the debug adapter processes in the backend. Might be out of scope of your idea, I don't really know. But I think it is still a good idea to move as much of the state we can (given what makes sense) into the browser.

Agreed with 2) it looks like it was done this way to get around what you described in 1).

From: theia-dev <theia-dev-bounces@xxxxxxxxxxx> on behalf of Thomas Mäder <tmader@xxxxxxxxxx>
Sent: Friday, October 8, 2021 9:58 AM
To: theia-dev@xxxxxxxxxxx <theia-dev@xxxxxxxxxxx>
Subject: [theia-dev] Debugger architecture musings
 
Hi Folks,

I've been looking at the Theia debugger recently and are a couple of things which are odd:

1. The DebugService lives on the back-end.
I believe the Idea originally was to reconnect to debug sessions after doing a refresh. But since the DebugService lives in connection scope and kills all sessions upon dispose, I don't think that will ever work anyway.  So why not just move the DebugService to the front end? It's how most other services work.

2. There is a "PluginDebugService" which replaces the DebugServiceImpl, but still forwards to that implementation. That quite different from other services, where we have a general service that can be extended with contributions with specialized contributions for stuff contributed via VSCode API. I believe this choice is because of the first point above.

Wondering if others agree with this assessment and whether it would be worthwhile to simplify the architecture along these lines? Comments, please?

/Thomas

Back to the top