7 ms·
This doesn't even mention the most awesome feature of PTVS 2.0: mixed-mode debugging, which provides an integrated experience for debugging mixed Python/C proce
by CurtHagenlocher 13y ago
This doesn't even mention the most awesome feature of PTVS 2.0: mixed-mode debugging, which provides an integrated experience for debugging mixed Python/C processes. See https://pytools.codeplex.com/wikipage?title=Mixed-mode%20debugging https://pytools.codeplex.com/wikipage?title=Mixed-mode%20deb... for details.
Disclaimer: I used to work on IronPython.
- _pmf_ 13y ago> This doesn't even mention the most awesome feature of PTVS 2.0: mixed-mode debugging, which provides an integrated experience for debugging mixed Python/C processes. That's really nice. I wish there would be something comparable for debugging JNI/Java code.
- jaegerpicker 13y agoThis times a thousand. Debugging ndk on Android is one of the worst development experiences I've ever had.
- bru 13y ago>[...] you're a hardcore PhD who wants mixed-language Python and C++ debugging [1] [...] It is mentioned. 1: http://www.youtube.com/watch?v=wvJaKQ94lBY&feature=c4-overview&list=UUpKEjPmLsl19ETchJLJj42g http://www.youtube.com/watch?v=wvJaKQ94lBY&feature=c4-overvi...
- stinos 13y agoAfaik that's exactly what the first all-in-your-face picture is showing? And man that is seriously awesome indeed.
- CurtHagenlocher 13y agoHah, you're right. A picture may be worth one thousand words, but Control-F "native" won't necessarily find it. Also, I apparently didn't search for "C++". sigh.
- shanselman 13y agoor "mixed" ;) - good points, I will update it to showcase that feature. It's amazing.
- int_19h 13y agoThat was not in-your-face. THAT is in-your-face ~ http://i.imgur.com/IDPsWUu.png http://i.imgur.com/IDPsWUu.png
- stinos 13y agonice.. It's stuff like this that makes me feel like a a wizard in control of the whole world and everything beyond when working in VS. Now if just every single bit of code I wrote would reflect this..
- ryanmolden 13y agoThe guy that wrote this used to work on my team and is a great dev. If you run into any issues I could certainly point him your way.
- cdavid 13y agoCan you expand a bit on how that works in principle ? Can you make it work with a standard python or did you need to insert probes' into the python interpreter to catch when it goes form C to Python and vice et versa
- DinoV 13y agoVS 2012 added a new debugging framework for supporting debugging multiple code types at the same time. That model requires that the debugger work out of process - inspecting various data structures cross process and reporting them back to VS. That's different from how Python debuggers are usually built w/ sys.settrace and a debugger helper thread running in the process. To accomplish that we require that we have symbols for the Python interpreter (which are typically available on python.org). The debug engine uses a combination of the native equivalent of sys.settrace, strategic breakpoints, and using the symbols to walk core Python data structures. There's a bunch of fun tricks for evaluating code when stopped at a Python frame and creating strings, ints, etc... when users type them into the watch window. If you'd like to dig in more the source is at http://pytools.codeplex.com/SourceControl/latest http://pytools.codeplex.com/SourceControl/latest under Python\Product\Debugger\DkmDebugger.
- ritonlajoie 13y agoMy understanding is that dual debugging works when your main process is oythin and you can the debug some C python module. Is ther a way to debug a C process loading python27.dll which then runs some pythin code using the oython-C api?
- int_19h 13y agoMixed-mode debugging works in both of these scenarios (remember that python.exe is really just a "C process loading python27.dll"). You don't need a Python project at all, you can just attach to a running process (whether it is python.exe or your own host) and start debugging. You can even do that if the host process hasn't actually loaded python##.dll yet, though of course Python breakpoints etc will only light up once that happens. Here's a screenshot of a debug session with a custom host process written in C# running Python code that in turn uses a C++ extension module: http://i.imgur.com/IDPsWUu.png http://i.imgur.com/IDPsWUu.png
- ibejoeb 13y agoMicrosoft really does make the most outstanding developer tools. I admit that I occasionally miss that deeply integrated, seamless feeling. You guys deserve some recognition. I'm not too frequent a user lately, but I'm continually impressed.
- NicoJuicy 13y agoI'm developping on some platforms. But i have to admit, nothing beats visual studio in awesomeness / completeness
- wwweston 13y agoI came into a shop that does a lot of .NET development over a year ago, and I swear I came into the experience hoping to learn what made lots of people say exactly what you've said. 6 months into it, I all but stopped caring, and overall, I felt like it actually created problems for me. But I'd like to understand what problems others feel it solved for them.
- pnathan 13y agoHonestly, coming into visual studio/c# from emacs/common lisp feels like going backwards in time for me. Running my CL environment on Gentoo feels like the future; a not-quite-there-yet-but-still-awesome future; running VS on Windows feels like kiddie toys that haven't gotten around to growing up yet. And that's a weird feeling when you realize the dollars, time, and research poured into each environment. :-)
- sultezdukes 13y agoThat's funny because I feel the same way if I have to use Emacs. It feels like going back to the early 90s with some DOS Borland IDE. Regular text editors just feel so clunky next to the cohesiveness of VS/Resharper or Intellij. At some point in time, Emacs is going to have get overhauled to join the 90s, much less the 21st century. And I understand that CL is a special case with Emacs, but it's still clunky as hell compared to what could have been really awesome environments (think Smalltalk environments), but with lots of resources pumped into the development.