Summary: | Add a --debugger flag to koha-plack | ||
---|---|---|---|
Product: | Koha | Reporter: | Tomás Cohen Arazi (tcohen) <tomascohen> |
Component: | Command-line Utilities | Assignee: | Tomás Cohen Arazi (tcohen) <tomascohen> |
Status: | CLOSED FIXED | QA Contact: | Testopia <testopia> |
Severity: | enhancement | ||
Priority: | P5 - low | CC: | jonathan.druart, lari.taskula, nick, olli-antti.kivilahti, robin |
Version: | Main | ||
Hardware: | All | ||
OS: | All | ||
Change sponsored?: | --- | Patch complexity: | --- |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: |
Remote debugging capabilities are added to the koha-plack script. This is very important for developers.
|
Version(s) released in: | |
Circulation function: | |||
Bug Depends on: | |||
Bug Blocks: | 20079 | ||
Attachments: |
Bug 18964: Add --debugger option to koha-plack
Bug 18964: Add --debugger option to koha-plack Bug 18964: Add --debugger option to koha-plack Bug 18964: Add --debugger option to koha-plack |
Description
Tomás Cohen Arazi (tcohen)
2017-07-20 13:48:31 UTC
Created attachment 65190 [details] [review] Bug 18964: Add --debugger option to koha-plack This patch is WIP for people to take a look! The explanation on how to use it assumes you are running kohadevbox. This patch adds the following option switches to koha-plack: --debugger ---------- Toggle debugging --debugger-key -------------- Some IDEs require a key, this needs to match because they are picky about it --debugger-location ------------------- This option switch is used to specify the host:port your IDE is listening at. Inside kohadevbox (using Vdebug with Vim) this would be localhost:9000. Outside kohadevbox it would be 192.168.50.1:9000 --debugger-path --------------- This is the path in which you installed the Komodo Remote Debugger libraryi [1]. In kohadevbox you could put the contents of the downloaded .tar.gz in /home/vagrant/dbgp/perllib. That perllib seems to be required for things to work [2]. You can test with a simple CLI script things work: PERL5LIB=/home/vagrant/dbgp/perllib:$PERL5LIB \ PERLDB="BEGIN { require q(/home/vagrant/dbgp/perllib/perl5db.pl) }" \ PERLDB_OPTS="RemotePort=192.168.50.1:9000" perl -d t/Prices.t If you see action on your IDE, you are on the right track. WARNING: The main difficulty I found was setting the right dir/file mappings. [1] http://code.activestate.com/komodo/remotedebugging/ [2] https://github.com/Komodo/KomodoEdit/issues/644#issuecomment-236268012 Hi, I put this together so you can actually help me making it work properly. Created attachment 65196 [details] [review] Bug 18964: Add --debugger option to koha-plack This patch is WIP for people to take a look! The explanation on how to use it assumes you are running kohadevbox. This patch adds the following option switches to koha-plack: --debugger ---------- Toggle debugging --debugger-key -------------- Some IDEs require a key, this needs to match because they are picky about it --debugger-location ------------------- This option switch is used to specify the host:port your IDE is listening at. Inside kohadevbox (using Vdebug with Vim) this would be localhost:9000. Outside kohadevbox it would be 192.168.50.1:9000 --debugger-path --------------- This is the path in which you installed the Komodo Remote Debugger libraryi [1]. In kohadevbox you could put the contents of the downloaded .tar.gz in /home/vagrant/dbgp/perllib. That perllib seems to be required for things to work [2]. You can test with a simple CLI script things work: PERL5LIB=/home/vagrant/dbgp/perllib:$PERL5LIB \ PERLDB="BEGIN { require q(/home/vagrant/dbgp/perllib/perl5db.pl) }" \ PERLDB_OPTS="RemotePort=192.168.50.1:9000" perl -d t/Prices.t If you see action on your IDE, you are on the right track. WARNING: The main difficulty I found was setting the right dir/file mappings. [1] http://code.activestate.com/komodo/remotedebugging/ [2] https://github.com/Komodo/KomodoEdit/issues/644#issuecomment-236268012 Created attachment 65318 [details] [review] Bug 18964: Add --debugger option to koha-plack CAVEAT: This patch is only about allowing koha-plack to start a debugging session on a remote target. Configuring all the needed pieces to make it work is out of the scope of the bug. Testing should be focused (mainly) on making sure this introduces NO REGRESSIONS on regular use (i.e. not debugging). This patch adds the following option switches to koha-plack: --debugger ---------- Toggle debugging --debugger-key -------------- Some IDEs require a key, this needs to match because they are picky about it --debugger-location ------------------- This option switch is used to specify the host:port your IDE is listening at. Inside kohadevbox (using Vdebug with Vim) this would be localhost:9000. Outside kohadevbox it would be 192.168.50.1:9000 --debugger-path --------------- This is the path in which you installed the Komodo Remote Debugger library [1]. In kohadevbox you could put the contents of the downloaded .tar.gz in /home/vagrant/dbgp/perllib. That perllib seems to be required for things to work [2]. You can test with a simple CLI script things work: PERL5LIB=/home/vagrant/dbgp/perllib:$PERL5LIB \ PERLDB="BEGIN { require q(/home/vagrant/dbgp/perllib/perl5db.pl) }" \ PERLDB_OPTS="RemotePort=192.168.50.1:9000" perl -d t/Prices.t If you see action on your IDE, you are on the right track on the IDE side. To test: - Apply this patch - Enable remote debugging on your IDE, on port 9000 (or adjust the command below to match your IDE's listening port). - Download the Komodo Remote Debugger package, and place the package's contents in /home/vagrant/dbgp/perllib (you should see perl5db.pl in there). - Run: $ sudo koha-plack --stop kohadev $ sudo kohaclone/debian/koha-plack --start \ --debugger \ --debugger-path /home/vagrant/dbgp/perllib \ --debugger-location 192.168.50.1:9000 \ kohadev => SUCCESS: You IDE/tool gets a connection from the Plack process. - Sign off :-D The explanation on how to use it assumes you are running kohadevbox. WARNING: The main difficulty I found was setting the right dir/file mappings. [1] http://code.activestate.com/komodo/remotedebugging/ [2] https://github.com/Komodo/KomodoEdit/issues/644#issuecomment-236268012 Created attachment 70401 [details] [review] Bug 18964: Add --debugger option to koha-plack CAVEAT: This patch is only about allowing koha-plack to start a debugging session on a remote target. Configuring all the needed pieces to make it work is out of the scope of the bug. Testing should be focused (mainly) on making sure this introduces NO REGRESSIONS on regular use (i.e. not debugging). This patch adds the following option switches to koha-plack: --debugger ---------- Toggle debugging --debugger-key -------------- Some IDEs require a key, this needs to match because they are picky about it --debugger-location ------------------- This option switch is used to specify the host:port your IDE is listening at. Inside kohadevbox (using Vdebug with Vim) this would be localhost:9000. Outside kohadevbox it would be 192.168.50.1:9000 --debugger-path --------------- This is the path in which you installed the Komodo Remote Debugger library [1]. In kohadevbox you could put the contents of the downloaded .tar.gz in /home/vagrant/dbgp/perllib. That perllib seems to be required for things to work [2]. You can test with a simple CLI script things work: PERL5LIB=/home/vagrant/dbgp/perllib:$PERL5LIB \ PERLDB="BEGIN { require q(/home/vagrant/dbgp/perllib/perl5db.pl) }" \ PERLDB_OPTS="RemotePort=192.168.50.1:9000" perl -d t/Prices.t If you see action on your IDE, you are on the right track on the IDE side. To test: - Apply this patch - Enable remote debugging on your IDE, on port 9000 (or adjust the command below to match your IDE's listening port). - Download the Komodo Remote Debugger package, and place the package's contents in /home/vagrant/dbgp/perllib (you should see perl5db.pl in there). - Run: $ sudo koha-plack --stop kohadev $ sudo kohaclone/debian/koha-plack --start \ --debugger \ --debugger-path /home/vagrant/dbgp/perllib \ --debugger-location 192.168.50.1:9000 \ kohadev => SUCCESS: You IDE/tool gets a connection from the Plack process. - Sign off :-D The explanation on how to use it assumes you are running kohadevbox. WARNING: The main difficulty I found was setting the right dir/file mappings. [1] http://code.activestate.com/komodo/remotedebugging/ [2] https://github.com/Komodo/KomodoEdit/issues/644#issuecomment-236268012 Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Note: You will need the python3 version of vdebug if you are running python3: https://github.com/markkimsal/vdebug/tree/python3 (which does not work really well) Waiting for too long, skipping QA. Pushed to master for 18.05 Awesome work all, enhancement, not backported for 17.11.x |