If a value for an option includes a space, the value needs to be encoded.
You can encode values by encasing them in double quotes:

property_get -i 5 -n "$x['a b']" -d 0 -c 0 -p 0

It is also possible to use escape characters in quoted strings:

property_get -i 6 -n "$x[\"a b\"]" -d 0 -c 0 -p 0

As Xdebug has returned, through XML, just:

fullname="$this->*TestA\TestB\TestC\A*items"

which, after XML decoding shows:

$this->*TestA\TestB\TestC\A*items

There is no space in this, so there is no NEED to enclose them in "'s, or does the spec say anything about escaping the \'s.

The spec hints that *if* you enclose them in "'s, you must also escape the \'s.

I propose we do the following:

- Xdebug stops stripping \'s when it parsing the property names, unless they are enclosed in "'s.
- PhpStorm does not escape the \'s, *unless* it has wrapped the value in double quotes. It must simply use the XML decoded value that XML returned (through "context_get" or "property_get -n $this") as argument to property_get *unless* there is a space or \0 character, in which case PhpStorm *must* enclose the value in "'s and escape ", \ and NULL.
- I update the DBGp spec to:
- include the \0 character with the line about the space
- make it clearer when you *must* escape
- make it clearer when you *can* escape

This is likely going to break existing behaviour, so you might want to change behaviour depending on Xdebug version, send to PhpStorm in the init package with: