phpxdebugxdebug-profiler

xdebug with qcachegrind reports "There is no source available for the following function ..."


I am starting to use xdebug in combination with qcachegrind and first tests work well. The log file gets recorded and I can open it with qcachegrind. But now I have the issue that I dot't get detailed information for every function. For php::exec_curl I only get the information

"There is no source available for the following function: php::curl_exec. This is because its source file cannot be found: php:internal. Add the folder of this file to the source folder list. This list can be found in the configuration dialog.

I am using MAMP (/Applications/MAMP/bin/php/php5.6.2/bin/php) on OSX. My first try was to add simply the whole MAMP folder to the source list, but that did not work.

Now I wanted to ask if anybody maybe already had the same challenge and knows how to solve it?


Solution

  • exec_curl is an internal PHP function, meaning that it's been implemented in C and QCacheGrind doesn't have access to it's source nor to any trace of what that function did. For XDebug/PHP/QCacheGrind this function is just a black box, that takes some parameters and returns some input.

    Why would you need to see the source? Frankly, you shouldn't care about what happens inside. All internal functions have been tested and proven to work.