1.0 简介
2.0 已知问题
2.1 Web 开发环境
2.2 WebSphere Application Server 调试
2.3 JavaScript 调试器
2.4 测试和部署工具(服务器工具)
2.5 Java 开发工具(JDT)调试器
2.6 本地语言限制
2.7 SQLJ 调试器
WebSphere Studio 中的调试器提供调试 Web 应用程序、服务器端 JavaScript、Java、SQLJ、SQL 存储过程和编译语言所需的工具。本自述文件描述与 WebSphere Studio 调试器相关联的已知问题与限制。
JSP 调试:
- 当在 WebSphere Application Server 上进行测试时,可以调试 JSP 文件。如果是在 Tomcat 服务器上进行测试,则不能在 JSP 断点处停止调试器。
- 可以在下列标记内的 JSP 文件中设置断点:
- 采用以下格式的 JSP scriptlet:<% %>
- 采用以下格式的 JSP 表达式:<%= %>
- 采用以下格式的 JSP 声明:<%! %>
- jsp:useBean、jsp:getProperty 和 jsp:setProperty 标记
- 定制标记
- 不能对下列标记集设置断点:
- HTML 代码
- JSP 伪指令
- 所有其它标准 JSP 标记(jsp:include 和 jsp:forward 等)
- 如果正在将工作空间从 WebSphere Studio 的较旧版本迁移至此版本,则需要删除 JSP 断点然后重新创建它们。
- 对于 EJB home 方法,逐步调试方式将失败:如果您使用 WebSphere Application Server 调试适配器来启动调试会话,则对于 EJB home 方法,逐步调试方式将无法停止。如果想要调试这些方法,应使用断点。
- 不支持从 Java 单步返回到 JavaScript:如果想要能够从 Java 返回到 JavaScript 代码,则使用断点。
- 调试 JSP:
- 对于不包含任何可执行代码的 JSP,逐步调试将不工作。
- 如果您使用 WebSphere Application Server 调试适配器来启动调试会话,则不能检查或显示 JSP 变量和表达式。
- “运行至行”在 JSP 中不受支持。
- 设置 JSP 断点可能比较慢。如果具有多个 JSP 断点,请增加额外时间以便调试器进行初始化。
- JSP 声明块中的静态变量上的断点将不起作用,且可能导致其它断点问题。
- JSP 断点不支持诸如命中计数、条件、所选线程和 VM 暂挂策略等断点属性。
- 不要在“调试器编辑器”中设置 Java 断点:必须在“Java 编辑器”中而不是在“调试器编辑器”中设置 Java 断点。
- 使用“更改源文件调试”视图弹出菜单项:如果您更改通过使用堆栈帧上的更改源文件弹出菜单项来显示的源文件,则新文件可能不会在编辑器中打开。要解决此问题,单击另一个堆栈帧,然后再次单击原来的堆栈帧。新文件就应该在编辑器中打开。
- 调试控制台:在“调试”控制台中,与开放类型的超链接将不工作。
- 热交换之后的堆栈帧标注:如果在热代码替换之后某些堆栈帧具有类似如下的标注:
<unknown receiving type>(<unknown declaring type>).<unknown method name>(<unknown arguments>) line: not available <unknown line number>可通过切换至另一透视图然后返回“调试”透视图来获取正确的标注。
- 在完成 JavaScript 对象的构造函数之前,不能检查 JavaScript 对象:可以单步执行构造函数的执行,但是在完成构造函数(您已退出构造函数)之前,不能检查被构造的对象。
- 单步执行顶部堆栈帧下面的堆栈帧:JavaScript 不支持单步跳过和单步返回除了顶部堆栈帧之外的堆栈帧。
- JSP include:不支持在 JSP include 中调试 JavaScript。
- 单步跳出递归函数:调试递归 JavaScript 函数的用户将发现,当他们单步跳出递归函数时,他们就返回到了顶部执行层。
- 不要展开包含 writer 或 inputStream 变量的对象:当检查 JavaScript 对象时,用户要注意不要展开包含 writer 或 inputStream 变量的对象。这将导致调试器变成无响应的。
- 测试环境:在使用“WebSphere V5 测试环境”时,JavaScript 调试将不起作用。此问题在 APAR #PQ73036 下得到修正。
当决定在调试方式下运行服务器时,请考虑下列各项:
- 与在非调试方式下运行相比,服务器的启动和运行速度都会比较慢。
- WebSphere Application Server 编译 JSP 页所需的时间显著增加。
Java 开发工具(JDT)发行说明和“工作台”(IDE)发行说明中提供了有关 Java 开发工具的已知问题与限制的信息。可从随此产品安装的主产品自述文件链接至这些发行说明。
- 双向(BiDi)限制:在调试已经使用不是本机代码页的代码页来编码的 JSP 时,您将不能使用“调试器”编辑器。
- 编译语言调试器:
- 在单字节(SBCS)系统上,“编译语言调试器”不支持程序名或传递包含 0x7F 以上的字符的程序参数。
- 在调试对象名和调试对象自变量中使用 NL 字符不受支持。
当在使用 J9 JVM 进行调试的同时执行热交换时,如果调用堆栈上有任何 SQLJ 方法,都将获得废弃堆栈上的方法对话框。如果热交换的是 SQLJ 类,将在 JVM 中重新装入该类,但在下一次调用该类中的方法之前,您将不会看到正在执行的新代码。
如果热交换的是 SQLJ 类,则在当前调试会话期间,SQLJ 断点对此类不起作用。
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.