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

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

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

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

  1. 【idea】断点调试时查看所有变量和静态变量

    转载至博客:https://blog.csdn.net/qq32933432/article/details/86672341 缘起 笔者在进行HashMap原理探索的时候需要在IntelliJ ID ...

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

    1.ctrl+alt+m,可以查看每个函数过程的内存位置 2.Ctrl+Alt+C 查看代码对应的汇编 3.原来用delphi看变量信息一直是简单的用watch看,但是有时候变量值直接用特定类型看总是 ...

  3. VS调试时查看动态数组的全部元素

    转载:https://blog.csdn.net/sinat_36219858/article/details/80720527

  4. Xcode调试时查看变量的方法

    在Debug Console窗口中(lldb)后可以使用两个指令: 1.print 变量名:打印出变量值 2.po 对象名:print object,打印出对象中的值: 另外,Command+Shif ...

  5. gdb调试时查看内存

    x/<n/f/u> <addr> n.f.u是可选的参数,<addr>表示一个内存地址 1) n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地 ...

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

    原文链接: http://blog.csdn.net/star_huang/article/details/7678845 最近Eclipse调试时总是出现Application XXX  is wa ...

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

    本文转自:https://msdn.microsoft.com/zh-cn/library/dn194476.aspx 1.创建代码图,以便在调试时对调用堆栈进行可视化跟踪. 你可以在图中进行标注以跟 ...

  8. paip.php 配置ZEND DEBUGGER 断点调试for cli..

    paip.php  配置ZENDDEBUGGER 断点调试for cli.. 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http:/ ...

  9. 关于启动调试时,总是启动多个web端口的问题

    在一个解决方案中,经常包含多个web项目,当设置某一个web项目为起始项目后,启动调试,会发现其他的web项目的端口也会一起打开,显示在电脑的右下方,其实开启其他端口有时是没必要的,只是多占用了系统内 ...

随机推荐

  1. Shrio第二天——认证、授权与其它特性

    一.认证——Authentication (即登陆),简单分析之前的HelloWorld的认证: 1. 获取当前的 Subject. 调用 SecurityUtils.getSubject(); 2. ...

  2. 20155320 2016-2017-2《Java程序设计》第十二周课堂实践项目

    20155320 2016-2017-2<Java程序设计>第十二周课堂实践项目 1.修改教材P98 Score2.java, 让执行结果数组填充是自己的学号: 2.在IDEA中以TDD的 ...

  3. [css 实践篇]CSS中的尺寸单位

    绝对单位 px: Pixel 像素 pt: Points 磅 pc: Picas 派卡 in: Inches 英寸 mm: Millimeter 毫米 cm: Centimeter 厘米 q: Qua ...

  4. C#是数据类型

    C#又开始了 开始数据类型 用的软件是VS2017 E short 短整型 int  中等整型 long  长整形 string  字符串类型 bool  布尔类型(true/flase)  相当于数 ...

  5. LumiSoft.Net 收发邮件

    一:LumiSoft.Net简介 Lumisoft is a software development company specialised in mobile phones and tablets ...

  6. Windows网络通信(二):socket异步编程

    简述 这里使用的API和同步编程的API是差不多的,只多了一个ioctlsocket和select函数.这里面涉及一个很重要的结构体fd_set.这里用到的API大部分都是windows和linux通 ...

  7. android 图片二维码识别和保存(一)

    最新业务开发二维码识别的功能,这个功能,在很多应用上都有,比如微信长按图片识别二维码,如果图片中存在可以识别的二维码时,可以增加一个选项 识别二维码.那么如何去实现这个功能呢.这里其实也非常简单,首先 ...

  8. 【snmp】Linux开启snmp及查询

    1.Linux snmp 1.安装snmp yum install -y net-snmp* 2.备份snmp配置 cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.co ...

  9. linux源码学习-for_each_cpu

    刚开始读linux源码,第一眼就看到了这个很有意思的函数族,周末好好研究一下 3.13 这个组都是宏定义for循环,分析的时候注意到cpumask_next(),它在一个文件中定义了两次,还不是重载, ...

  10. java面向对象的有序数组和无序数组的比较

    package aa; class Array{ //定义一个有序数组 private long[] a; //定义数组长度 private int nElems; //构造函数初始化 public ...