当前位置: 首页>>代码示例>>Java>>正文


Java CommandPacket.setNextValueAsArrayID方法代码示例

本文整理汇总了Java中org.apache.harmony.jpda.tests.framework.jdwp.CommandPacket.setNextValueAsArrayID方法的典型用法代码示例。如果您正苦于以下问题:Java CommandPacket.setNextValueAsArrayID方法的具体用法?Java CommandPacket.setNextValueAsArrayID怎么用?Java CommandPacket.setNextValueAsArrayID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.harmony.jpda.tests.framework.jdwp.CommandPacket的用法示例。


在下文中一共展示了CommandPacket.setNextValueAsArrayID方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setArrayValues

import org.apache.harmony.jpda.tests.framework.jdwp.CommandPacket; //导入方法依赖的package包/类
/**
 * Sets a range of array components. The specified range must be within the
 * bounds of the array.
 * 
 * @param arrayID
 *            The array object ID.
 * @param firstIndex
 *            The first index to set.
 * @param values
 *            An array of Value objects representing each value to set.
 */
public final void setArrayValues(long arrayID, int firstIndex,
        Value[] values) {
    CommandPacket command = new CommandPacket(
            JDWPCommands.ArrayReferenceCommandSet.CommandSetID,
            JDWPCommands.ArrayReferenceCommandSet.SetValuesCommand);
    command.setNextValueAsArrayID(arrayID);
    command.setNextValueAsInt(firstIndex);
    command.setNextValueAsInt(values.length);
    for (int i = 0; i < values.length; i++) {
        command.setNextValueAsUntaggedValue(values[i]);
    }

    checkReply(performCommand(command));
}
 
开发者ID:shannah,项目名称:cn1,代码行数:26,代码来源:VmMirror.java

示例2: checkArrayRegion

import org.apache.harmony.jpda.tests.framework.jdwp.CommandPacket; //导入方法依赖的package包/类
private void checkArrayRegion(long arrayID, int error, int firstIndex, int length,
        byte expectedArrayTag, byte expectedElementTag, boolean checkValues)
    throws UnsupportedEncodingException {

    CommandPacket packet = new CommandPacket(
            JDWPCommands.ArrayReferenceCommandSet.CommandSetID,
            JDWPCommands.ArrayReferenceCommandSet.GetValuesCommand);
    packet.setNextValueAsArrayID(arrayID);
    packet.setNextValueAsInt(firstIndex);
    packet.setNextValueAsInt(length);
    
    ReplyPacket reply = debuggeeWrapper.vmMirror.performCommand(packet);
    checkReplyPacket(reply, "ArrayReference::GetValues command", error);

    if (reply.getErrorCode() == JDWPConstants.Error.NONE) {
        // do not check values for non-array fields
        ArrayRegion region = reply.getNextValueAsArrayRegion();
        //System.err.println("length="+region.length);
        byte arrayTag = region.getTag();
        logWriter.println("==> arrayTag =  " + arrayTag
                + "(" + JDWPConstants.Tag.getName(arrayTag) + ")");
        logWriter.println("==> arrayLength =  "+region.getLength());
        Value value_0 = region.getValue(0);
        byte elementTag = value_0.getTag();
        logWriter.println("==> elementTag =  " + elementTag
                + "(" + JDWPConstants.Tag.getName(elementTag) + ")");

        assertEquals("ArrayReference::GetValues returned invalid array tag,",
                expectedArrayTag, arrayTag,
                JDWPConstants.Tag.getName(expectedArrayTag),
                JDWPConstants.Tag.getName(arrayTag));
        assertEquals("ArrayReference::GetValues returned invalid array length,",
                length, region.getLength());
        assertEquals("ArrayReference::GetValues returned invalid element tag",
                expectedElementTag, elementTag,
                JDWPConstants.Tag.getName(expectedElementTag),
                JDWPConstants.Tag.getName(elementTag));

        if (checkValues) {
            for (int i = 0; i < region.getLength(); i++) {
                Value value = region.getValue(i);
                if (value.getTag() == JDWPConstants.Tag.INT_TAG) {
                    assertEquals("ArrayReference::GetValues returned invalid value on index:<" + i + ">,",
                            value.getIntValue(), i + firstIndex);
                }
                else if (value.getTag() == JDWPConstants.Tag.STRING_TAG) {
                    long stringID = value.getLongValue();
                    String s = getStringValue(stringID);
                    assertEquals("ArrayReference::GetValues returned invalid value on index:<" + i + ">,",
                            Integer.parseInt(s), i + firstIndex);
                }
            }
        }
    }
}
 
开发者ID:shannah,项目名称:cn1,代码行数:56,代码来源:GetValuesTest.java


注:本文中的org.apache.harmony.jpda.tests.framework.jdwp.CommandPacket.setNextValueAsArrayID方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。