Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A bunch of error message updates, library hack, etc. #15

Closed
wants to merge 6 commits into from

Conversation

magnusjjj
Copy link
Contributor

  • Updated all the libraries, and changed the manifest to be able to target newer visual studio.
  • Changed SSH.net library to be a static, bundled one. This is nasty. The reason I did this, is that the new default for ssh-keygen on window generates a certificate with changes that makes SSH.net unable to load the certificate, with a very unhelpful error message. See Support OpenSSH 8.8 sshnet/SSH.NET#883
  • I moved around some things, and threw exceptions higher, so that you get actual error messages, even if they look ugly, other than 'Connection refused'. It's not the best, but is at the very least very helpful.
  • Added in a mkdir -p command, to make sure the target directory actually exists on the remote side
  • Changed the static paths to ssh, scp. These are wrong for the bundled windows 10 versions. Now they instead assume that ssh is in %PATH% which is probably better?
  • Fixed a problem where if there was an issue with a transfer, it would keep adding the connection event to the build event list, so it would try to connect to the server more and more times.
  • Commented out the code that tries to figure out what architecture the remote computer is, in order to install vsdbg. Reason for this is that there was no case for x86, and when I looked at the actual script being downloaded, it supposedly figures out the architecture on its own. Is that correct? It worked well for me, but I don't have a raspberry pi connected.
  • Put in a toolbar, with a single button that starts remote debugging.

My plan going forward before I quit is to add the possibility to have multiple configurations, with a simple window. Dropdown to switch between them on the toolbar. Maybe store it as a JSON in the users home directory? :) What do you think?

Also updated all the libraries, in part to allow for EC certificates
…, terrible idea, but the current ssh library does not support newer types of certificates.

Do not trust this particular commit!
… it not being able to read the certificate file, does not wind up with a simple 'Connection refused', but with the actual error.

Also fixed an error that kept adding build finish events on errors without clearing it out.
Removed special cases for getvsdbgsh since the script automatically detects it.
Changed incorrect ssh and scp locations. This does assume that scp and ssh is on the path though.
@radutomy radutomy changed the base branch from master to development December 30, 2021 15:17
@radutomy
Copy link
Owner

radutomy commented Dec 30, 2021

  • Updated all the libraries, and changed the manifest to be able to target newer visual studio.

Looks good.

  • Changed SSH.net library to be a static, bundled one. This is nasty. The reason I did this, is that the new default for ssh-keygen on window generates a certificate with changes that makes SSH.net unable to load the certificate, with a very unhelpful error message. See Support OpenSSH 8.8 sshnet/SSH.NET#883

I'm going to hold off on this for now until the ssh.net team fixes this issue. Will put up a warning message in the meantime.

  • I moved around some things, and threw exceptions higher, so that you get actual error messages, even if they look ugly, other than 'Connection refused'. It's not the best, but is at the very least very helpful.

Looks good.

  • Added in a mkdir -p command, to make sure the target directory actually exists on the remote side

Looks good.

  • Changed the static paths to ssh, scp. These are wrong for the bundled windows 10 versions. Now they instead assume that ssh is in %PATH% which is probably better?

Direct path referencing didn't work for me, something to do with the way scp x64/x86 was invoked. Forgot the exact reason, but I'll do some testing before merging.

  • Fixed a problem where if there was an issue with a transfer, it would keep adding the connection event to the build event list, so it would try to connect to the server more and more times.

Good spot!

  • Commented out the code that tries to figure out what architecture the remote computer is, in order to install vsdbg. Reason for this is that there was no case for x86, and when I looked at the actual script being downloaded, it supposedly figures out the architecture on its own. Is that correct? It worked well for me, but I don't have a raspberry pi connected.

This needs a bit of testing, but looks good otherwise.

  • Put in a toolbar, with a single button that starts remote debugging.

I am not convinced by this as I am a fan of keeping toolbar clutter to a minimum, but people have requested this in the past so lets give it a shot.

  • My plan going forward before I quit is to add the possibility to have multiple configurations, with a simple window. Dropdown to switch between them on the toolbar. Maybe store it as a JSON in the users home directory? :) What do you think?

Agreed multiple configs are useful, but any reason for not using existing window in Settings -> Options -> VsRemoteDebugger?

I'll do the merge when I'm on my laptop, shortly after new year.

radutomy pushed a commit that referenced this pull request Jan 19, 2022
Cherry picked PR #15: A bunch of error message updates, library hack, etc.
@radutomy
Copy link
Owner

Closed. See #16

@radutomy radutomy closed this Jan 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants