使用子进程调试Power Tool的混合模式调试Python / C#

我正在尝试调试(命中断点)python脚本,该脚本通过C#的新过程执行。

我已经安装了“子进程调试功能”工具,因为该工具据说可以做到这一点。

根据其文档,它需要两件事:

  1. 父进程必须使用本机调试enigne进行调试

  2. 父进程必须使用CreateProcess或CreateProcessAsUser Win32 API启动子进程。

我的过程创建如下:

ProcessStartInfo startInfo = new ProcessStartInfo();

Process p = new Process();


startInfo.CreateNoWindow = true;

startInfo.UseShellExecute = false;

startInfo.RedirectStandardOutput = false;

startInfo.RedirectStandardError = true;

startInfo.RedirectStandardInput = false;

...

p.StartInfo = startInfo;

p.EnableRaisingEvents = true;

p.Start();

据我所知,只要我使用


UseShellExecute = false; 

该过程应从CreateProcess开始。(要求2)


在我的项目中,我还启用了本机代码调试。(需求1)


我还将python.pdb和python36.pdb都包括在我的符号列表中。但是看来我找不到python3.pdb


'python.exe' (Win32): Loaded 'C:\...\Python36\python.exe'. Symbols loaded.

'python.exe' (Win32): Loaded 'C:\...\Python36\python36.dll'. Symbols loaded.

'python.exe' (Win32): Loaded 'C:\...\python3.dll'. Cannot find or open the PDB file.

当我安装带有调试符号的python时,这不包括在内,并且在其他任何地方都找不到。


我正在使用Visual Studio 2017,没有遇到断点。


拉风的咖菲猫
浏览 107回答 1
1回答

饮歌长啸

如果有人偶然发现此帖子,请快速更新。我联系了该工具的创建者,尽管它的描述可能表明我在此处尝试做的事情应该起作用,但事实并非如此。我与之交谈的人说,他将与他的python小组讨论此事,但是几个月来我一直没听到任何消息,因此我认为这不会很快发生。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python