Delphi调试器崩溃(OpenDialog +压缩exe)

时间:2016-02-12 17:11:11

标签: delphi debugging topendialog upx

前几天我遇到了一个奇怪的错误

每当我的程序(正在调试中)试图打开一个saveialog时,Delphi 2007 IDE会因外部异常而崩溃。我把它缩小到包含由upx压缩的exe的任何文件夹。

即。如果文件夹中的所有exe都是正常/未压缩的,那么一切都很好。但是如果其中一个exe文件已经使用upx压缩,那么当opendialog尝试打开该文件夹时IDE会崩溃。

我怀疑Windows shell加载exe模块(例如显示其图标),IDE注意到并尝试加载该exe的调试信息并在此时崩溃。

有关如何解决此问题的任何想法?我的测试程序已附上

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    SaveDialog1: TSaveDialog;
    procedure FormClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormClick(Sender: TObject);
begin
  SaveDialog1.Execute()
end;

end.

更新:添加了IDE堆栈跟踪的屏幕截图 enter image description here

0 个答案:

没有答案