G114 只审真实广告候选,不猜Memory服务
1. 完整目标与不同于G109的输入
基线98939be/main,Owner同AI方案/实现/测试/自复核非第三方。G113当前source原240点只有232可用观察、至少8缺,停止同源/纯队列重跑;G112真实VM回复2.6–2.8s/region packed未准入。原54/500ms/五轮120槽100%/3I/单token/2MiB或5%/完整准备20与40变化/尾部失败保持,formal0/5/accepted0/54、b129唯一安装DMG不动。
G109列“Memory/ResourceUsage guessed names”未证,这不等于现在真实广告资源provider没有。G112原device advertisement确实列出com.apple.xcode.debug-gauge-data-providers.resources和.procinfo,固定原件hash核。这只是已见服务名,不代表字段/权限/读点/真实频率。与G109仅Energy/NetworkStatistics不同,本轮只核这两项既已广告的host真实client/protocol/参数/字段/无侵入前提,避免从通用sampleAttributes猜名字直接RPC。
2. 固定输入与停止边界
仅四个现有host二进制:IDEIODebugGaugesCore(358720B)、DTDeviceKitBase(1763088B)、IDEPerformanceDebugger(929648B)、IDEiOSDebugger(326880B)。精确路径/hash/来源登记,single<=2MiB、四原件总<=4MiB、衍生thin与原件总<=8MiB;不动态加载/执行framework,不全Xcode递归搜、不查询或连接手机。若实际不是此版本/超门即停,不能临时无限扩文件。
使用现有otool/nm与固定x86_64 slice、已核G111 method映射定义(只加载纯定义,不运行旧取证脚本),所有工具stream cap:每metadata<=4MiB、总<=12MiB,symbol每256KiB、所选snippet每128KiB且总<=2MiB、最多32函数且实际机器码合<=32KiB;tool单30s/树256MiB,解析控制120s/128MiB,预计<10s;串行1/O(固定8MiB输入+有界日志)。未知/超限即停对应步骤并保留failed,0自动原样重试。
先控制真实section映射/类名限定/metadata IMP、alias substr不能作命中、protobuf或archive纯值而非实例化,以及输出硬限终止。再核真实服务class、AuthorizedAPI(若有)、host client对象参数与值key路径、reference时刻与kernel读取区别;class/selref/IMP由原二进制与metadata双核,disassembly按明确start/end与thin原字节逐条一致。nearest symbol/comment不能作方法归属,字符串存在只是线索。
3. 需要关闭的准入项
精确service和真实client方法/arity/对象类型;是否为目标process的physical footprint bytes而非RSS/peak/设备总内存/pressure;target绑定/生命周期/时钟读界;可请求/真实频率分开;是否依赖debugger attach/get-task-allow/目标插桩,是否可能同已证Sysmontap缓存读取,Raw保全与权限失败语义。hostcode支持不外推device callee、store App权限或所有无注入。
没有证据则停止本轮候选准入,不发selector试探、不请求商店App、不跑debugger或偷偷改self App替代来源;不得从名字断言性能或单位。只有明确方法与readonly路径才另立有界真实device计划。当前0device/launch/signal/config/Session/产品SDKFixture改/新包/环境worktree常驻/网站发布/memory写。
4. 结果与整个交付门
私有原件/工具/控制/机器码行SHA/候选准入矩阵与报告封存,旧G113全seal/264源码SDK/v3/129whole-tree严格签名/唯一登记/DMG核同。10文档同批闭环与新immutableHTML,site仅build300s/3GiB不部署;窄commit,GitHub/GitLab各一次+单Webhook,GitLab失败不重试不阻断。
若实际client有标量footprint且独立read cadence可测,下一一次预声明有界自有目标诊断;先明确已跑策略/保全小件、按原非侵入红线。若权限或缓存契约不成立,则公开当前固定500ms/每点新观察供给技术限制,不反复猜通道或降低100%目标。原54/正式0/5/GUI/成本/独立准确/电学温度缺仪器/最终公证GPL/A1OPEN/HybridFROZEN/G9OFF仍开,diagnostic进展不当产品目标完成。
Validation Update · 2026-10-07 · 真实Memory Gauge存在,但当前资源通道路由未准入
G114已核真实host Memory Gauge客户端/物理footprint key依赖:4原件、21类155方法、22片段5540B;其Memory通道未被设备广告,不能猜成resources别名。resources/procinfo实际owner/读点/速度仍未准入,原54/500ms/五轮保持。
Owner同AI方案/实现/测试/自复核,非第三方验收。E1仅4固定host Mach-O、实际metadata/fixup/请求实现;E2仅工具控制和逐指令原字节交叉核。本批没有新增E4,不把G112广告或Xcode本机能力当通用商店App可用。正式0/5、accepted0/54不变。
1. 固定且已广告的候选,不猜Memory服务
先对G113旧21件全seal和264产品SDK固定SHA核同;G112旧advertisement现时SHA同455b3922…,确实列出com.apple.xcode.debug-gauge-data-providers.resources和.procinfo。与G109未见“Memory/ResourceUsage guessed names”的SDK目录结论不同,真实新广告可作定位,不可自行推广远程字段/权限。
四原件分别IDEIODebugGaugesCore358720B、DTDeviceKitBase1763088B、IDEPerformanceDebugger929648B、IDEiOSDebugger326880B;每件原绝对路径/真实SHA与retained原件一致,实际FAT offset/size推x86_64 thin,两种总 4990272B、metadata输出 1148627B,在原4MiB/单2MiB/总retained8MiB门内。未动态加载/执行framework、未全Xcode递归搜。
2. 真正请求代码与函数边界
IDEIODebugGaugesCore的classlist限定21类,含instance+metaclass共155个本类自有方法(不是155服务方法),不把classrefs或protocol嵌套再计。原metadata IMP/selectorPointer/encoding/text SHA核同真实section,22个限定方法/辅助函数共5540B,每条指令与原thin字节一致。边界由实际LC_FUNCTION_STARTS取得,不靠nm nearest-symbol标签,全部地址受限;llvm generic thin无--arch/--macho,不再复现G111范围被忽略的全text输出。
IDECommonGaugeDataProviderService.willStartSamplingAtTime:withInterval:真实取得device.primaryInstrumentsServer、remoteServerChannelIdentifier、makeChannelWithIdentifier再setChannel;startSamplingForPIDs:/sampleAttributes:forPIDs:/stopSamplingForPIDs:分别构造DTXMessage.messageWithSelector:typesAndArguments并sendControlSync:replyHandler。sample实际对象参数为原attributes和PIDs两对象(原ObjCencoding @32@0:8@16@24、两type11位置/寄存器传递实核),start/stop各一对象。这只证明这组hostclient ABI,不授权向不同名字service猜同方法,不把同名sampleAttributes当字段契约。reply helper含errorStatus与归档错误/返回处理,原字节保持;实际设备reply shape/权限失败语义尚未知。
| 已选机器码锚点 | 精确行SHA-256 |
|---|---|
selected/05.stdout L9 | 055ca7cfff41e29bdd25e089e307709ea135cde0d74ec1d4ace3313b9452dea2 |
selected/11.stdout L11 | 76654e2784aff75b54531d3f6b0b97ebbcddca5b3ee4f1d42132a747f48440d7 |
selected/02.stdout L40 | a13ff74d66ae583641787eeac4d38abc42f3535491aee7c2716689c1740fca9b |
selected/02.stdout L43 | 55075493422e98f76cc1734ebe32079ce4a6045d269f21c4c12a1b0807933229 |
selected/02.stdout L70 | 11bdf17dd531d33c67aa61430b4dbf65443ecaa40484b091b87e09e585b96ace |
selected/07.stdout L42 | acbb781a502e41fc5637cf23cff67ff53309dd31d791df690777fcfdd6859100 |
selected/07.stdout L51 | 61c6126efd2f42ab2ed5e7ca71a2723a5246e74acf614ee35ac7bb1dfecc4609 |
selected/12.stdout L23 | 75f0bac9b844934501543ebbd4ddcc9311243a8f04df78de9b7481c00f97cf04 |
selected/13.stdout L43 | 35ef63ea325771f975dbac8b7c33a6c41bea9095bfb3de31d3cca5733c383543 |
3. Memory不是当前resources的已证别名
IDEMemoryGaugeDataProviderService.remoteServerChannelIdentifier的13B方法实际返回CFString VA0x11290。官方dyld_info给该对象的cstring rebase0x112A0→0xE577,text/length与原二进制一致,原值为 com.apple.xcode.debug-gauge-data-providers.Memory。G112这份device广告没有该键;它广告的resources/procinfo没有被本批证明是Memory的别名。不能把Memory→resources“试试同RPC”当协议准入,也不能由未广告断言系统绝无Memory能力。
同类方法真实import IDEFoundation/_IDEDataProviderMemoryTaskPhysicalFootprintKey:requiredDataQueryAttribute读取该imported常量,processQueryResultDict读取当前值,另有MaxPhysicalFootprint/MinPhysicalFootprint两个不同key并进行历史值处理。这比字符串名字强,确立host使用物理footprint指标概念,但当前常量实际wire string value在IDEFoundation,本批未读取定义,unit bytes/当前device数值/精确读点仍unknown。不得把min/max字段当current或从host实现外推该广告资源服务已提供相同field。
4. 本地与设备、调试与无侵入分开
IDEGaugeDataProviderService_LocalComputer_Memory/procinfo.sampleAttributes真实调用IDEFoundation的IDEDataProvider_Memory(Memory支路)sharedDataProvider.captureAttributes:forPIDs:。这是LocalComputer实现,不当iPhone远端原始读取路径;provider定义仍在已证import dependency,不以Mac本地方法推iPhone可用。
IDEMemoryGaugeDebuggingAddition.createDataQueries先询问device.supportsMemoryGaugeData,支持支路走原super createDataQueries;fallback走launchSession.currentDebugSession并装observer。host Memory UI存在调试会话关联,不证明每一条远端读取都强制attach,也没有证据排除潜在debug授权/注入前提。debuggerAttachmentAlwaysRequired=unknown、noninvasiveStoreAppProven=false、deviceExactReadPoint/actualDeviceSamplingPeriod=unknown;本批不attach、不跑LLDB/target injection、无设备RPC/改包或操作用户App。
5. 控制、资源与不变性
16个qualified definition/保守字段分类控制、2条实际广告核验、1条stream输出硬门(65536B噪声/1024B限触发立即终止所属工具组),合 19工具控制,不是19指标通过。classification函数只防静态条件漏项,不是完整Mach-O或source/noninvasive证明,不用于source准入。一次预声明输出限反例exit1是成功验证守卫,不是device失败重试;其他collection/qualification/fixups/snippet全部实际exit0/capPassed/stop=null,失败/超限才停,不原样重跑。
| 主监督件 | wall s | 直接峰RSS B | exit | stop |
|---|---|---|---|---|
| collection.resources.json | 2.773593 | 24375296 | 0 | None |
| devicekit-objc.resources.json | 0.386209 | 11739136 | 0 | None |
| devicekit-symbols.resources.json | 0.289908 | 11649024 | 0 | None |
| finish-methods.resources.json | 1.285828 | 21045248 | 0 | None |
| gauge-fixups.resources.json | 2.885414 | 11448320 | 0 | None |
| gauge-objc.resources.json | 0.243558 | 11689984 | 0 | None |
| gauge-symbols.resources.json | 0.246302 | 11530240 | 0 | None |
| iosdebugger-objc.resources.json | 0.259426 | 11669504 | 0 | None |
| iosdebugger-symbols.resources.json | 0.272257 | 11603968 | 0 | None |
| output-hard-limit.resources.json | 0.236237 | 11567104 | 1 | None |
| performance-objc.resources.json | 0.262076 | 11632640 | 0 | None |
| performance-symbols.resources.json | 0.255955 | 11661312 | 0 | None |
| qualification.resources.json | 4.432111 | 21127168 | 0 | None |
四input收集2.773593s/直接峰24375296B、19片段qualification4.432111s/21127168B,补3辅助和fixup解析1.285828s/21045248B;dyld_info本身2.885414s(树采样峰87236608B)。所有在预先120s/128MiB父、单tool30s/256MiB内;metadata/各snippet输出硬cap符合。物理I/O峰unknown,树RSS采样不排除采样间峰。原/derived binary都真实读取,不宣称binary读取0;旧大Session/blob读取0。
原件/工具/metadata/selected完整SHA封存,G113旧全部证据/264产品SDK/v3/已装129whole-tree严格签名/唯一登记/单DMG收尾核同。0phone连接/launch/signal/config/Session/产品SDKFixture修改/新包/环境worktree常驻/网站发布/memory写。10窄文档/新immutableHTML、site仅build300s/3GiB、双远程各一次/单Webhook,失败partial不重试。
6. 本次决策与下一步
本批对候选定位/hostclient核证完成,但resources/procinfo实际owner与wire key/read point/速率未闭,因此来源准入partial,不把它集成产品或做原五轮。下一G115只沿已明确IDEFoundation/IDEDataProvider_Memory/IDEGaugeDataProviderService进口定义核真实路由与当前footprint key(需另立有界输入读取方案),不继续全盘名字搜索、不猜Memory别名RPC、不重复同Sysmontap/VM Tracker来挑窗口。
G113原240可用232/至少8缺证据保持;更充足的可信source要真实准入与数值对照,否则向Owner明确当前技术限制。原54/500ms/3I/单token/五轮120槽100%/独立2MiB或5%/完整准备20与40变化/尾部所有失败保持,formal0/5、accepted0/54;GUI/绝对成本/电学温度外部参考缺仪器/最终公证GPL/A1OPEN/HybridFROZEN/G9OFF仍open,goal active。candidate host存在不是产品可交付承诺。