Debugger DataSet 调试时查看DataSet

delphi  跟踪调试的时候查看DataSet数据记录 Ctrl+F7
调试 增强工具DataSet
http://edn.embarcadero.com/article/40268

http://docwiki.embarcadero.com/RADStudio/XE6/en/Debugger_Visualizers

http://docwiki.embarcadero.com/RADStudio/XE6/en/What%27s_New_in_Delphi_and_C++Builder_2010#Debugger_Changes

http://www.jed-software.com/xepp_screen.htm

http://www.soundvibe.net/blog/tcolor-visualizer/

Delphi 2010 Feature Highlight - Debugger Visualizers
Debugger Example
D:\Program Files (x86)\Embarcadero\RAD Studio\12.0\source\Visualizers\StringListVisualizer.pas
StringList查看器
XE5中delphi起作用,可以看到每行的元素值,c++builder怎么调不出来啊,原来是strings只有delphi的,在option里的Debugger Options\Visualizers看到没有c++描述支持

 TStringList *ls;
 ls = new TStringList();
 ls->Add("aaa");
 ls->Add("bbb");
 ls->Add("ccc");
 delete ls;
 ls = NULL;
  sl := TStringList.Create;
  sl.Add(‘aaa‘);
  sl.Add(‘bbb‘);
  sl.Add(‘ccc‘);
  FreeAndNil(sl);

Da

日期变量查看器
teTimeVisualizer.pas
官方提供的时间类型观察器,如果禁用的话,只可以看到float类型的数字,看不到日期格式,太不方便了,delphi和c++builder都可以。
 TDateTime  mydt;
 mydt = TDateTime::CurrentDateTime();
http://stackoverflow.com/questions/2556146/improve-speed-of-own-debug-visualizer-for-delphi-2010
http://delphi.netcode.cz/text/tdataset-debug-visualizer.aspx
http://bbs.cnpack.org/redirect.php?tid=3323&goto=lastpost&styleid=1&sid=3NVH51
---------------------

DebugSvcs: IOTADebuggerServices;
DebugSvcs.CurrentProcess.CurrentThread.Evaluate()

IOTAThread.Evaluate

TDataSet
在Delphi里,用IOTAThread.Evaluate方法可以成功调用ClientDataSet和ADOQuery的SaveToFile方法保存文件,然后在DataSetVisualizer里分别用ClientDataSet和ADOQuery的LoadFromFile方法装载,然后关联DataSource、DBGrid,就可以显示了,速度极快!这样Delphi就解决了!
但是上述方法不能解决c++builder,在cb环境下IOTAThread.Evaluate调用SaveToFile方法不成功,获取属性可以成功,比如Expression="ADOQuery1->RecordCount"之类可以成功,是不是XE的bug还是方法不对,也许根本不支持方法的调用。再找找吧
CB里ClientDataSet,有XMLData属性,是数据集的xml数据,可以取到,然后赋值给调试器的ClientDataSet,这样也就解决了。
CB里的ADOQuery怎么办,他没有类似的XMLData熟悉啊
另外,针对cb,还有用IOTAProcess.ReadProcessMemory()方法尝试读取内存地址,再转换成DataSet不知行不行
cds1->SaveToFile("c:\\a",1) 这个可以成功,放在Evaluate/Modify窗口的Expression表达是里输入cds1->SaveToFile("c:\\a",1)可以成功,文件也存上了。
用此方法可以了。
但是调用cds1->ClassName()
还是回出现错误E2122 Function call terminated by unhandled exception 0xc0000005 at address 0x5006677d

大功告成
可以查看数据集了

---------------------

原文地址:https://www.cnblogs.com/jijm123/p/10256653.html

时间: 01-11

Debugger DataSet 调试时查看DataSet的相关文章

VS2010下调试时查看DataTable.Rows的值

调试的时候遇到一个问题:不知道怎么在自动窗口或者添加监视那里查看DataSet或者DataTable的具体的值.度娘了一下很多都是添加DataTable.Rows[][]监视,但是一行一列地看还是有点麻烦.可能也是没找到点子上...后来问了一下说是工具箱里有一个DataSet的控件可以用上,但是还没试过,效果还有待检验... 昨晚调试的时候实在是蛋痛的时候在自动窗口里瞎点了十来分钟居然让我找到了... 具体点击路径:Rows--base--非公共成员--System--list-base--结果

4种Delphi IDE的调试时查看内存的方法,太酷了!

1.ctrl+alt+m,可以查看每个函数过程的内存位置 2.Ctrl+Alt+C 查看代码对应的汇编 3.原来用delphi看变量信息一直是简单的用watch看,但是有时候变量值直接用特定类型看总是不方便.于是上网找到察看方法,特列于此:在watch中输入"变量名,nm",其中n为你要查看的内存字节数.比如察看变量名为 a 的地址的18个字节,则写入a,18m即可. 4.在Delphi 7调试过程中查看内存http://www.cnblogs.com/chenhs/archive/2

Eclipse调试时Application XXX is waiting for the debugger to attach的提示

原文链接: http://blog.csdn.net/star_huang/article/details/7678845 最近Eclipse调试时总是出现Application XXX  is waiting for the debugger to attach的提示, 有的时候提示框会自动关闭并进入调试状态,但有的时候进入的是运行状态,最烦恼的是有时候模拟器上一直停留此对话框,反复调试依旧如此,老衲甚是苦恼. 个人感觉是某些调试状态尚未恢复或某些数据正在处理,在网上搜罗了下,归纳如下几种解决

VS2015--在 Visual Studio 中调试时映射调用堆栈上的方法

https://msdn.microsoft.com/zh-cn/library/dn194476.aspx 在 Visual Studio 中调试时映射调用堆栈上的方法 创建代码图,以便在调试时对调用堆栈进行可视化跟踪.你可以在图中进行标注以跟踪代码执行的操作,以便专注于查找 Bug. 生成调用堆栈图 1 开始调试.(键盘:"F5") 2 在你的应用进入中断模式或你单步执行某一函数之后,请选择"代码图".(键盘:Ctrl + Shift + `) 当前的调用堆栈在

让delphi在调试时不监视指定异常

在调试程序时,可能需要让delphi不拦截某些异常,这时我们可以设置debugger options中的language exceptions来完成. 下面举例说明如何让delphi在调试时不拦截EOleError, [@[email protected]] 打开Tools|Options|Debugger Options|Language Exceptions在右面的Excetpion types to ignore列表中增加EOleError即可. 同样,当你在调试程序时,在delphi弹出

解决真机调试时Eclipse DDMS上打不开/data目录的问题

一般真机调试时DDMS里面的File Explorer是不能打开/data 目录的,不过也很容易解决. 1.首先手机要root.这个很简单,网上一大堆资料和软件. 2.仅仅root之后还不行,下载一个ES 文件浏览器(或类似的软件),授予该软件root权限. 3.然手在ES 里面找到/data 目录,修改它的属性.把它的读.写.执行的权限全部开放出来. 然后就大功告成了.

关于VS2012 生成或调试时无响应的另一种情况

最近在做一个项目,差不多结尾了. 然后某天发现,生成和调试都会卡好一会(差不多要1分钟吧)才可以正常开始. 然后各种找问题,重装VS,重装系统,什么中文输入法,结果都一样. 最后只能怀疑是项目 问题了,后来想起来主窗口使用了一个自己写的用户控件,这个控件是容器来的,然后里面的控件全部变成空白了,当然之前是正常的,后来不知道为什么变成这样,然后我就自己手动将控件添加回去这个控件内 在Form1.Designer.cs文件内的 this.xxxx.Controls.Add(this.button3)

程序调试时出现的错误

1.         程序调试时出现的错误: a)         逻辑错误:服务器端的代码. i.              因为服务器端的代码一般是静态的强类型语言,编译器会矫正一些拼写错误. ii.              服务器端的代码出现错误之后,一般可以通过编译器调试代码解决. iii.              服务器端编程要学会使用快捷键,增加编程效率,减少出错概率. b)         拼写细节错误:xml配置文件,html文档流,CSS渲染文件,sql脚本,代码中的字符串

matlab调试时子函数断点不起作用

matlab调试代码时总是遇到这样一个奇怪的问题,就是当我在主程序(.m脚本)中调用子函数并在子函数中设置断点,然后开始调试运行主程序... 发现主程序直接运行到结束而并没有在调用子函数的时候在所设置的断点处停下来,而且所设置的断点也被清除... 但是如果在主程序中调用相应子函数的地方设置断点,调试时在此处停一下然后在继续运行则可以在子函数中的断点停下... 这个问题困扰我挺长时间,虽然用第二种方法能够实现需要的调试功能,但是总是要在主程序停一下,有点麻烦 so, 有事问谷歌--you get

用Natvis定制C++对象在Visual Studio调试时如何显示

博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用Natvis定制C++对象在Visual Studio调试时如何显示.