[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [pdt-dev] PDT 2.0 and use of encodings for remote debug
- From: Dave Kelsey <d_kelsey@xxxxxxxxxx>
- Date: Wed, 6 Aug 2008 13:57:10 +0100
- Delivered-to: email@example.com
Hi Michael, it looks like transfer encoding
applies to things like stack frames as well for example. I see transfer
encoding is the encoding to use when converting the binary wire data into
java.lang.String so that is a fixed encoding that I would assume is agreed
between the zend debugger and PDT when a debug session starts, and configurable
by the user.
The problem I see is that a PHP String
can contain 2 types of data
1. Binary data - This cannot be converted
to a java.lang.String so should have a useful representation within the
eclipse variable view such as a byte presentation.
2. Character data = "" should be converted
to a java.lang.String based on the encoding this data is in. The question
is what encoding is it in ? the php script knows and one solution could
be for the user to set the transfer encoding to the same as this
in order to view it, but the transfer encoding is also used for other things
so I am not sure that this encoding setting should be used for this purpose.
Also the transfer encoding has a limited set of encodings allowed and what
if the character data is in a Japanese code for example.
In the case of 1, a PHP string could
have some child variables that represent the length and a byte array so
that you can view the data as a byte array
In the case of 2, there needs to be
some sort of default for PHP String encodings and maybe the possibility
of being able to override that default within the variables view in the
small case where a php script may have multiple strings containing character
data in different encodings.
I am currently looking to see how to
address these problems for XDebug and think that the problem must also
be common for the zend debugger as well and wondered if anything was being
done in this area ? I don't think I will get around to solving 2, but I
hope to solve 1 at least.
pdt-dev-bounces@xxxxxxxxxxx wrote on 06/08/2008 13:17:01:
> Output and Transfer encodings are only applied to variable and
> output views. Besides that debug process should work as usual.
> Is there any specific problem you see with variables containing binary
> 2008/8/6 Dave Kelsey <d_kelsey@xxxxxxxxxx>
> I am looking at the various areas where encoding applies and the
> current configurable options available in PDT 2.0
> The output encoding looks like it only applies to output from the
> php script which will be displayed in the Debug and Browser output
> The transfer encoding applies to the binary data that flows over the
> wire (so must be in sync with the encoding used by the debug engine
> when sending information such as stack frame names, variable names
> etc). It also looks like the transfer encoding is used to convert
> php string information to Java.lang.String for display in the
> variables display.
> Is this correct ?
> One of the issues I have is that in php strings (ignoring php6 at
> present) can contain binary or character data. The character data
> and the encoding that correctly represents that data is known to the
> php program and could very well be different to the transfer encoding.
> A Common problem I see for both Zend and XDebug debug environments
> is a user may want to have a binary representation of a php string
> in the debugger or may want to display the string based on a user
> selected encoding.
> Is anyone looking at this issue for PDT 2.0 ? I haven't had the
> opportunity to investigate it but it seems to me that the solution
> should be common for any installed debugger.
> Dave Kelsey
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with
> number 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire
> pdt-dev mailing list
> pdt-dev mailing list
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6