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

PR: Add a new plugin to explore frames while debugging #11186

Merged
merged 57 commits into from
Jun 28, 2022

Conversation

impact27
Copy link
Contributor

@impact27 impact27 commented Dec 27, 2019

Description of Changes

Add a plugin to show current frame

  • Wrote at least one-line docstrings (for any new functions)
  • Added unit test(s) covering the changes (if testable)
  • Included a screenshot or animation (if affecting the UI, see Licecap

I have added a plugin that allows one to visudalise where all threads are. This can be useful to see where the execution is or to debug a deadlock.

Screenshot 2020-10-23 at 08 32 28

Here, a deadlock renders the shell unresponsive. I can ask the shell where it is currently executing.

Screenshot 2020-10-23 at 08 33 34

Here, I am debugging, and can use the frames explorer to explore the stack. By clicking in the frames explorer, up and down commands will automatically be sent to the debugger.

Screenshot 2020-10-23 at 08 34 03

Here, an error occurs and it is displayed in the frames explorer

Issue(s) Resolved

Fixes #16013
Fixes #11177
Fixes #5205
Fixes #1613

Depends on #16661
Depends on spyder-ide/spyder-kernels#171

Affirmation

By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: impact27

@impact27 impact27 changed the base branch from master to 4.x December 27, 2019 14:18
@pep8speaks
Copy link

pep8speaks commented Dec 27, 2019

Hello @impact27! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

There are currently no PEP 8 issues detected in this Pull Request. Cheers! 🍻

Comment last updated at 2022-06-24 08:29:01 UTC

@impact27 impact27 changed the title Frames plugin PR: Frames plugin Dec 27, 2019
@impact27 impact27 mentioned this pull request Dec 27, 2019
3 tasks
@impact27 impact27 closed this Dec 30, 2019
@impact27 impact27 reopened this Dec 30, 2019
@impact27 impact27 closed this Dec 30, 2019
@impact27 impact27 reopened this Dec 30, 2019
@impact27 impact27 closed this Jan 13, 2020
@impact27 impact27 reopened this Jan 13, 2020
@impact27 impact27 closed this Jan 17, 2020
@impact27 impact27 reopened this Jan 17, 2020
@impact27 impact27 closed this Jan 17, 2020
@impact27 impact27 reopened this Jan 17, 2020
@impact27 impact27 changed the base branch from 4.x to master January 17, 2020 19:35
@impact27 impact27 closed this Jan 17, 2020
@impact27 impact27 reopened this Jan 17, 2020
@impact27 impact27 closed this Jan 29, 2020
@impact27 impact27 reopened this Jan 29, 2020
@impact27
Copy link
Contributor Author

impact27 commented Feb 5, 2020

I have added an option to investigate a segmentation fault with faulthandler

@impact27 impact27 force-pushed the frames_plugin branch 2 times, most recently from f7f1cd7 to 9d1055e Compare June 30, 2020 12:47
@impact27 impact27 changed the base branch from master to 4.x June 30, 2020 12:51
@impact27 impact27 closed this Jun 30, 2020
@impact27 impact27 reopened this Jun 30, 2020
@impact27
Copy link
Contributor Author

Needs ipython/ipython#12445 for the tests to pass

Quentin Peter added 2 commits June 22, 2022 19:37
…com/impact27/spyder-kernels.git external-deps/spyder-kernels

subrepo:
  subdir:   "external-deps/spyder-kernels"
  merged:   "cd3edade9"
upstream:
  origin:   "https://github.com/impact27/spyder-kernels.git"
  branch:   "comm_socket_thread"
  commit:   "cd3edade9"
git-subrepo:
  version:  "0.4.1"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "a04d8c2"
Quentin Peter added 2 commits June 23, 2022 08:47
…com/impact27/spyder-kernels.git external-deps/spyder-kernels

subrepo:
  subdir:   "external-deps/spyder-kernels"
  merged:   "cd3edade9"
upstream:
  origin:   "https://github.com/impact27/spyder-kernels.git"
  branch:   "comm_socket_thread"
  commit:   "cd3edade9"
git-subrepo:
  version:  "0.4.1"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "a04d8c2"
@impact27 impact27 force-pushed the frames_plugin branch 2 times, most recently from b770e0f to c55b1cb Compare June 23, 2022 12:13
Copy link
Member

@ccordoba12 ccordoba12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for your work on this @impact27! Most of my comments are stylistic, the rest looks pretty good to me.

Also, please remove the commits you added here to fix the failures with Numpy 1.23.

spyder/app/tests/test_mainwindow.py Outdated Show resolved Hide resolved
spyder/app/tests/test_mainwindow.py Outdated Show resolved Hide resolved
spyder/app/tests/test_mainwindow.py Outdated Show resolved Hide resolved
spyder/app/tests/test_mainwindow.py Show resolved Hide resolved
spyder/plugins/framesexplorer/__init__.py Outdated Show resolved Hide resolved
spyder/plugins/framesexplorer/widgets/main_widget.py Outdated Show resolved Hide resolved
spyder/plugins/framesexplorer/widgets/main_widget.py Outdated Show resolved Hide resolved
spyder/plugins/framesexplorer/widgets/main_widget.py Outdated Show resolved Hide resolved
spyder/plugins/layout/plugin.py Outdated Show resolved Hide resolved
impact27 and others added 4 commits June 24, 2022 00:56
…spyder-ide/spyder-kernels.git external-deps/spyder-kernels

subrepo:
  subdir:   "external-deps/spyder-kernels"
  merged:   "29fc3bc40"
upstream:
  origin:   "https://github.com/spyder-ide/spyder-kernels.git"
  branch:   "master"
  commit:   "29fc3bc40"
git-subrepo:
  version:  "0.4.1"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "a04d8c2"
Copy link
Member

@ccordoba12 ccordoba12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for quick response @impact27! Last comments, then this should be ready.

@ccordoba12 ccordoba12 removed the request for review from steff456 June 24, 2022 19:12
Copy link
Member

@ccordoba12 ccordoba12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @impact27 for this addition! It's a great improvement!

@ccordoba12 ccordoba12 merged commit 329306f into spyder-ide:master Jun 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment