【发布时间】:2013-07-23 06:18:51
【问题描述】:
这类似于another question,无论如何我正在寻找一种特定于平台的方式来执行此操作(如果它存在于 iOS 上)。
为 Apple 平台开发意味着基于非 Apple 的工具集通常不太适用。所以我希望找到平台原生的方式来做到这一点。因为简单的谷歌搜索给了我this(heap command),所以我确定还有一个API函数。
我正在寻找这个只是为了调试构建断言来检测删除堆栈分配对象的情况。所以知道地址指向哪里就足够了——堆栈或堆。因此,性能、版本兼容性、内部 API 或任何质量问题都无关紧要。 (也许在模拟器上测试也是一种选择)但我认为如果堆栈与堆完全分离,这并不是那么繁重的操作。
我标记了 C++,但任何其他语言的 API 也可以,如果它适用于 C++。
【问题讨论】:
-
@Borgleader 我写了这个问题是因为没有通用 方法可以做到这一点,但平台特定 是可能存在的。我看到有几个人为此提到了 MS Windows 特定的 API,但还没有提到 iOS。
-
检查 Mats Petersson 的答案,它可能对您有用。
-
@Eonil:我刚刚添加了一个关于“如何查找堆栈范围”的简短部分。
-
您的代码中可能存在设计问题。在堆栈上“分配”对象时,您应该使用自定义分配器。然后,您甚至不会遇到您要检查的那些问题。
标签: c++ ios pointers heap-memory