windows – 切换JIT调试器?
发布时间:2020-12-14 02:54:14 所属栏目:Windows 来源:网络整理
导读:当您必须使用不同的IDE维护不同的项目时,将它们安装在同一台 Windows计算机上通常是有意义的. 例如,在同一系统上混合Visual Studio和Delphi,或各种版本的Delphi(我确信其他版本甚至有不同的组合). 你会发现其中一件事是最新工具将自己安装为JIT调试器:应用
当您必须使用不同的IDE维护不同的项目时,将它们安装在同一台
Windows计算机上通常是有意义的.
例如,在同一系统上混合Visual Studio和Delphi,或各种版本的Delphi(我确信其他版本甚至有不同的组合). 你会发现其中一件事是最新工具将自己安装为JIT调试器:应用程序崩溃时触发的即时调试器. 根据应用程序崩溃的工具和版本(有时在调试器内运行时无法重现错误,例如Heisenbug),您需要提前选择调试器. 你怎么能这样做? 解决方法
编写一个简单的应用程序,在应用程序崩溃时启动所需的调试器.
注册您的应用程序 HKLMSOFTWAREMicrosoftWindows NTCurrentVersionAeDebug 如果是64位操作系统,也可以使用以下密钥 HKLMSOFTWAREWow6432NodeMicrosoftWindows NTCurrentVersionAeDebug 使用值添加/修改名为Debugger的字符串: "C:..Win32DebugProject1.exe" %ld %ld 一个非常简单的应用: procedure TForm1.FormCreate(Sender: TObject); begin ComboBox1.Items.Add('BDS 16'); ComboBox1.Items.Add('BDS 15'); ComboBox1.Items.Add('WinDbg'); ComboBox1.Items.Add('VS'); // etc.. ComboBox1.ItemIndex := 0; end; procedure TForm1.Button1Click(Sender: TObject); var proc: THandle; begin Assert(ParamCount >= 2); proc := OpenProcess(SYNCHRONIZE,False,StrToInt(ParamStr(1))); case ComboBox1.ItemIndex of 0: ShellExecute(0,'','C:..RAD Studio9.0binbds.exe',PChar(Format('/attach:%s;%s',[ParamStr(1),ParamStr(2)])),SW_SHOWNORMAL); 1 : // etc.. 2: ShellExecute(0,'C:Program Files (x86)..windbg.exe',PChar(Format('-p %s -e %s -g',SW_SHOWNORMAL); 3: ShellExecute(0,'C:Windowssystem32VSJitDebugger.exe',PChar(Format('-p %s -e %s',SW_SHOWNORMAL); //.. end; if Bool(proc) then begin WaitForSingleObject(proc,INFINITE); Application.Terminate; end; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-installer – Msiexec:在安装失败时自动回滚到以前
- windows – 如果在文件服务器上启用写缓冲区,我会冒多大的数
- 有没有办法监视哪个进程在Windows中发送UDP数据包(源/目标I
- windows-xp – 如何创建自己的Windows XP键盘映射?
- windows-8 – 最小的Windows 8 C XAML应用程序?
- 02、Windows Server 2003的域账户管(01)
- windows7 、windows10环境使用pip 安装Tensorflow
- windows – 从服务启动的进程,CreateProcessWithLogonW立即
- 对于所有多处理示例,Windows上的Python 2.7“断言main_name
- Windows远程桌面多用户登录的问题
推荐文章
站长推荐
- windows-8 – 如何模拟Windows RT
- win10下JDK8的安装与配置
- cpu-architecture – 在32位Windows下使用Amd64指
- windows – 跨平台,Apache Ant,构建的公共环境变
- windows – 通过CMD脚本删除注册表项?
- windows-phone-8 – 我可以用什么来替换Windows
- 虚拟化 – 连接到域中的其他Hyper-V Manager实例
- windows-installer – MSI – 卸载提供“Unident
- [windows Tools] windows程序打包工具-Advanced
- 如何在Windows Server Active Directory计算机下
热点阅读