- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在阅读《高级.NET 调试》一书,我非常喜欢它。但是我对这些例子有一些问题。如果读过它的人对我有帮助,我将非常感激。
我有两个问题:
构建的示例与哪个版本的 .NET 框架?我无法在 Windbg(x86) 下运行它们,并且它们在 Windbg(x64) 下加载,因此我假设它是 64 位版本的框架。但哪个框架呢? 2.0、3、3.5、4?
当查看第 2 章中描述的类型句柄(方法表)时,我得到了不同的结果(我的结果和书上显示的结果如下所示)。当然,我不是在谈论地址不同。例如,当我在方法表上执行 dd 操作时,我看到 Flags2 字段、NumMethods 字段的值不同。我不知道为什么。在第 56 页,作者说对象的大小是 0x14(与我的机器相同),因为对象有 4 个整数。但 02TypeSample.cs 的列表仅显示 3 个整数:x、y、z。在我的机器上 dd 显示了 4 个方法,而在示例中它显示了 7 个方法。书上还说编译器生成了默认 ctor。
“首先要记住的是,即使我们这样做了没有显式定义任何构造函数,C#编译器会自动生成一个我们的默认构造函数。
在列表中,您可以看到 TypeSample 的 ctor 采用 3 个整数作为参数。要么是我、书或例子有问题。它是什么? ;)
Method table from the book:
0:000>dd 002930b0
002930b0 <b>00040000</b> 00000014 <b>00070402</b> 00000004
002930c0 790fd0f0 00292c3c 002930f8 00291244
002930d0 00000000 00000000 79371278 7936b3b0
002930e0 7936b3d0 793624d0 003400c8 0029c015
002930f0 0034007000000000 00000080 00000000
00293100 00000000 00000000 00000000 00000000
00293110 00000000 00000000 00000000 00000000
00293120 00000000 00000000 00000000 00000000
My method table:
0:000> dd 00223420
00223420 <b>00000000</b> 00000014 <b>00040011</b> 00000004
00223430 68b70944 00222fe4 00223458 00221390
00223440 00000000 00000000 68ac6a90 68ac6ab0
00223450 68ac6b20 68b37700 00000080 00000000
00223460 00000000 00000000 00000000 00000000
00223470 00000000 00000000 00000000 00000000
00223480 00000000 00000000 00000000 00000000
00223490 00000000 00000000 00000000 00000000
it shows 4 methods when !dumpmt shows 7
0:000> !dumpmt -md 00223420
EEClass: 00221390
Module: 00222fe4
Name: Advanced.NET.Debugging.Chapter2.TypeSample
mdToken: 02000002 (F:\Development\Advanced .NET Debugging\adndsrc\Chapter2\TypeSample\TypeSample\bin\Debug\TypeSample.exe)
BaseSize: 0x14
ComponentSize: 0x0
Number of IFaces in IFaceMap: 0
Slots in VTable: 7
--------------------------------------
MethodDesc Table
Entry MethodDesc JIT Name
68ac6a90 6894494c PreJIT System.Object.ToString()
68ac6ab0 68944954 PreJIT System.Object.Equals(System.Object)
68ac6b20 68944984 PreJIT System.Object.GetHashCode()
68b37700 689449a8 PreJIT System.Object.Finalize()
003d00d8 00223398 JIT Advanced.NET.Debugging.Chapter2.TypeSample..ctor(Int32, Int32, Int32)
0022c015 002233a4 NONE Advanced.NET.Debugging.Chapter2.TypeSample.AddCoordinates()
003d0070 002233b0 JIT Advanced.NET.Debugging.Chapter2.TypeSample.Main(System.String[])
最佳答案
书的背面说它的目标是.NET CLR 4.0。但是,前言的示例代码部分指出所有代码都是使用 C# 和 .NET 2.0 编写的。最后有一章介绍.NET 4.0。
上面的 !dumpmt
命令的输出显然是 32 位 (x86),因为 Entry 列是一个指针。
关于你的第二个问题。您能否具体说明您所指的是哪个示例?
关于debugging - 高级 .NET 调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14859679/
对于相当简单的表结构,即。人员、标准和 PersonCriteria(组合表),我现在设置了一个查询,选择所有符合所有选定条件的人。 此时查询本身看起来像这样: SELECT p.PersonID
我在使用高级 SQL 查询时遇到了一些问题,而且我已经有很长时间没有使用 SQL 数据库了。我们使用 MySQL。 背景: 我们将使用两个表: “交易表” 表:expire_history +----
我找不到错误。也许你可以帮助我:我的代码如下: var data = {"product":[{"config":[{"id":"1","price":"100","sku":"1054879634
我有一个列表列表的列表(最后一个列表并不重要) data = [[[['f', 0], 'C'], [['X', 0], 'X']], [[['s', 1], 'X'], [['X', 0], 'X'
我想准备将使用表格的 session ,并在另一个网站上将新项目添加到 session 中。 默认.cs string[] tab = new string[100];
我知道有一些像: Bubble sort Insertion sort Shell sort Merge sort Heapsort Quicksort Bucket sort Radix sort
像https://softwareengineering.stackexchange.com/questions/150616/return-random-list-item-by-its-weigh
我正在开发一个 posix 脚本 (Linux),它获取一个网页,将内容存储在一个变量中并查找字符串“SUCCESS”。如果找到字符串,则不执行循环内容,如果没有找到字符串,则反复执行循环,直到找到为
我不确定这个问题是否已在其他地方得到解答,而且我似乎无法通过谷歌找到任何不是“Hello World”示例的内容...我正在使用 C# .NET 4.0 进行编码。 我正在尝试开发一个控制台应用程序,
我创建了一个房地产网站,我希望按照列表的最后更新和完整性对列表进行排序。所以我一直想弄清楚如何结合最近更新的列表按mysql中的字段(completion_score)进行排序。完成分数将采用 1
只所以称为“高级”用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实还是它的基础用法! switch 语句和具有同样表达式的一系列的 IF 语句相似。很多场合下需要把同一
之前的章节中,我们学习了 XML DOM,并使用了 XML DOM 的 getElementsByTagName() 方法从 XML 文档中取回数据 本章节我们将继续学习其它重要的 XML DOM
我对我尝试编写的 SQL 查询有疑问。 我需要从数据库中查询数据。该数据库除其他外,还包括以下 3 个字段: Account_ID #, Date_Created, Time_Created 我需要编
我正在使用非常激进的视频压缩,例如 -crf 51 .我将其用于“艺术”效果,因此从普通视频压缩的角度来看,我所做的可能没有意义。 到目前为止,我只使用了非常基本的压缩控制,只使用了 -crf。或 -
我真的在学习 lucene 和 ravendb 上的绳索 - 我在 Raven 中有以下文档 - { "InternalEvent": { "Desec": "MachineInfo: 1
通常 grep 命令用于显示包含指定模式的行。有没有办法在包含指定模式的行之前和之后显示 n 行? 这可以使用awk来实现吗? 最佳答案 是的,使用 grep -B num1 -A num2 在匹配之
我搜索了高低,并尝试了几个小时来操纵似乎适合的各种其他查询,但我没有快乐。 我试图加入 Microsoft SQL Server 2005 中的几个表,其中一个示例是: Company Table (
我有一个如下所示的 XML 文件: teacher1Name
我将如何在 CF 中创建此语句? 显然括号不起作用,但说明了我想要完成的工作。这是什么语法? 编辑: 好的,我了解如何使用 EQ 等等。我有点匆忙地发布了这个。我的问题是关于括号。以这种方式使用它们
主要问题:我需要使用具体对象结构对任何对象结构进行类型扩展。 我在 VS Code 中测试的默认值。 我的解决方案: /** @template A @typedef {{[Ki in keyof A
我是一名优秀的程序员,十分优秀!