HaxeFoundation / hxcpp-debugger

Cross-platform debugger for hxcpp
Apache License 2.0
49 stars 16 forks source link

Changes to handle big projects #10

Closed tanis2000 closed 8 years ago

tanis2000 commented 8 years ago

This is a PR with some changes needed to be able to handle large projects (many files and classes). It's the base to make the VSCode extension https://github.com/jcward/vscode-hxcpp-debug work correctly on all the different OS. (See this issue for the discussion about it: https://github.com/jcward/vscode-hxcpp-debug/issues/25 ) Also fixes an issue with clients not dropping the connection when they should.

bjitivo commented 8 years ago

I can't take this pull request until I verify that it doesn't break IntelliJ due to the removal of some of the message size limiting features that were specifically put in place to allow IntelliJ to work. I will test this soon.

tanis2000 commented 8 years ago

@bjitivo Those two commits should solve the issues you reported. Please have a look at them and let me know if that's fine.

jcward commented 8 years ago

I'm a fan of closing the socket and rethrowing, nice.

The 100/10k limit doesn't affect overall functionality, as it chunks further messages, right?

tanis2000 commented 8 years ago

Well, the last commits have brought back message limiting and rethrowing of the exception after the socket is closed. It's a matter of someone testing this stuff with IntelliJ and reporting whether it works or not. I'm not using IntelliJ so it's either that no one using IntelliJ watches this repo or I don't know how to reach out to people 😄

bjitivo commented 8 years ago

Thanks, I'll try very hard to get to this today.

bjitivo commented 8 years ago

So it turns out that we're going to have to do some significant work in the IntelliJ plugin to use this. We want to be backwards compatible with the old debugger protocol so we'll have to implement a detection of the version (via the version string the client sends) and then switch out to using the old version of the protocol if the client is using protocol v1.1, and use the new version of the protocol if the client is using protocol v1.2.

We don't have the time at he moment to make all of this work, so I'm just going accept this pull request and we'll have to advice IntelliJ plugin users to use the "protocol_v1.1" branch of hxcpp-debugger that I just created, which will remain at protocol v1.1 for now.