diff --git a/src/ai_scheduler.cpp b/src/ai_scheduler.cpp index bdf0646..300e01f 100644 --- a/src/ai_scheduler.cpp +++ b/src/ai_scheduler.cpp @@ -401,6 +401,17 @@ AiScheduler::BorrowedInferResult AiScheduler::InferBorrowed(ModelHandle handle, return result; } + // DEBUG: 检查输出大小是否超出预分配 buffer + for (uint32_t i = 0; i < ctx->n_output; ++i) { + size_t prealloc_sz = ctx->output_buffers[i].size(); + size_t actual_sz = outputs[i].size; + std::cerr << "[AiScheduler] output[" << i << "] prealloc=" << prealloc_sz + << " actual=" << actual_sz << " type=" << ctx->output_attrs[i].type << "\n"; + if (actual_sz > prealloc_sz && prealloc_sz > 0) { + std::cerr << "[AiScheduler] ERROR: output size exceeds preallocated buffer!\n"; + } + } + result.outputs.resize(ctx->n_output); for (uint32_t i = 0; i < ctx->n_output; ++i) { auto& out = result.outputs[i];