Delphi 调试日子 - TLogger】的更多相关文章

这段时间又开始用delphi了,才发现我对它这么的不熟悉! 简单的而有效的调试工具 Logger 这个是“榕树下”的作品,小巧而精悍.稍微调整了一下.在需要的地方加入 {$IFDEF DEBUG}         Logger.WriteLog('SetKeyDatetime ok %s', [DateTimeToStr(FKeyDatetime)], llDebug);      {$ENDIF} 当然如果在 每个文件中加入一个 {$I debug.inc},通过这个文件可以方便的控制调试输出…
这个是个很有意思的事情,这一个成熟的模板上更改,同样的属性,同样的方法,新的组件在载入过程中就是报错. “Stack overflow” 因为有初始化过程,担心是不是那个地方有问题,由于是在属性赋值过程中出现的,开始认为是写操作溢出,逐个逐个排,两个半小时就这么过去了…… 发现原来是那个属性读被自引用了! function TPlayConsoleFrame.GetKeyDatetime: TDateTime;      begin        //Result := KeyDatetime;…
delphi调试启动需要UAC权限的程序的时候会报错“Unable to create process:请求的操作需要提升”.这是因为delphi没有以管理员身份启动,这样delphi createprocess出来的进行就同样不是管理员权限了.只要以管理员身份启动delphi即可.…
在delphi 7中(其他版本也可能碰到该问题),编译后,代码左边显示蓝色小点,表示哪句代 码是被编译了的,可今天我的一些代码不能显示那些蓝点了,这样也就不能在上面设断点了,而且用F8跟踪发现执行的顺序不对.同时,编译中发现有错误的行,也没有指到对应的行上,可能在错误行的下一行,甚至有时候会执行到注释行或者空行上.造成该问题的原因是Dos换行和Unix换行的差异造成的错误. Dos换行是2个字符,一个回车符+一个换行符. Unix换行只有一个自符,好像是换行符.这样在Delphi编辑器内显示时候…
  因为dll文件已驻留内存,可用intrabob进行调试,也可用PWS进行调试,不过要换文件. IntraBob是资深程序员Dr.Bob编写的免费工具软件,用于测试Delphi编写 的CGI/WinCGI/ISAPI程序,它可以代替PWS/IIS等WWW服务器软件, 调试本地的CGI/WinCGI/ISAPI程序,其原理是模拟PWS/IIS接受WWW请求, 并根据您的设置将类似于“http://www.123.com/testisapi.dll” 的远程URL映射到本地文件,如“d:\intr…
  1.新建一个web工程,请选中最下面一项:Web App Debugger executable,Coclass name我们设为demo1: 2.在弹出的WebModule2中右击,在弹出的Action编辑框中新建一个webaction,选中,设置Default属性为True,在其onaction事件中编写如下代码,输出一个仅显示‘hello,dephi!’的html页: 3.请先运行一遍,向Web服务器注册: 4.设置断点,运行: 5.点击Tools->Web App Debugger:…
在实际程序中,遇到1.bpl 引用了2.bpl中的方法,2.bpl的方法进入后又引用了3.bpl ,刚开始挺蒙,怎么调试呢,  其实bpl就是dll, 故, 1.我在Delphi的run->parameters ->Host Application中指定了相应的宿主程序,***.exe 2.我把相应的断点点到对应的方法上,就可以调试进去了,  我是放在了3.bpl的方法上,因为问题是在它那暴露出来的. 简单吧.…
Delphi有时候无法连接调试一些手机,解决方案: 1.安装Google USB Driver 2.通过设备管理器查看手机或平板USB的VID,PID 3.修改你的电脑上的android_winusb.inf,将第2步找到的VID,PID加到inf中. 例如: ;Samsung Galaxy S3 %SingleAdbInterface% = USB_Install, USB\VID_04E8&PID_6860 %CompositeAdbInterface% = USB_Install, USB…
Delphi有时候无法连接调试一些手机,解决方案: 1.安装Google USB Driver 2.通过设备管理器查看手机或平板USB的VID,PID 3.修改你的电脑上的android_winusb.inf,将第2步找到的VID,PID加到inf中. 例如: ;Samsung Galaxy S3 %SingleAdbInterface% = USB_Install, USB\VID_04E8&PID_6860 %CompositeAdbInterface% = USB_Install, USB…
以前好多次遇到了activex无法调试的问题,一直没搞清楚原因,最近终于搞清楚了,原来是IE由单线程变成了多线程. 下面就说说调试activex的方法 一.简单的方式,这种方式只适用于浏览器为单线程的情况: 在delphi的run菜单里的parameter里设置host application和parameter就可以调试了 二.另一种方式,能够调试IE8这样的多进程浏览器: 1 打开要调试的网页 2 使用run菜单里的attacch to process,选择IE的主进程,如果不确定哪个是主进…