Мало времени я должен был решить подобную проблему. Если проблема все еще существует, я предлагаю, чтобы Вы сделали это: Контролируйте все вызовы к новому/удаляет и malloc/calloc/realloc/free. Я делаю единственный DLL, экспортирующий функцию для регистра все вызовы. Эта функция получает параметр для идентификации Вашего источника кода, указателя на выделенную область и тип вызова, сохраняющего эту информацию в таблице. Все выделили/освободили пару, устраняется. В конце или после необходимости в Вас звонят другой функции для, создают отчет для левых данных. С этим можно определить неправильные вызовы (новый/свободный или malloc/delete) или пропавшие без вести. Если имеют какой-либо случай буфера, перезаписанного в Вашем коде, сохраненная информация может быть неправильной, но каждый тест может обнаруживать/обнаруживать/включать решение определенного отказа. Много выполнений, чтобы помочь определить ошибки. Удача.
if ($ this-> RequestHandler-> requestedWith ('json')) { if (function_exists ('json_decode')) { $ jsonData = json_decode (utf8_encode (trim (file_get_contents ('php: // input'))), true); }
if(!is_null($jsonData) and $jsonData !== false) {
$this->data = $jsonData;
}
}
Это код-сниппет, который был предложен в ядре, см. https://trac.cakephp.org/ticket/6125 . Может быть, это то, что вы ищете.
- Бьорн