2010-06-14 36 views
19

Tôi muốn biết về khả năng gỡ lỗi của ANT bằng cách sử dụng nhật thực. Về cơ bản Tôi có một kịch bản ANT xây dựng được viết bởi một đồng nghiệp và tôi muốn bước thông qua từng mục tiêu để xem các nhiệm vụ khác nhau là những gì được gọi là được gọi.ant debugging trong eclipse

+1

Xem thêm http://stackoverflow.com/questions/15380429/debug-ant-task-from-eclipse – Vadzim

Trả lời

4

Vì kiến ​​chỉ là một ứng dụng Java, bạn chỉ có thể thêm cấu hình gỡ lỗi (gõ Java Application) vào nhật thực. Xem Running Ant via Java để biết cách gọi Ant như thể nó là một ứng dụng Java. Tôi sẽ giả sử bạn biết cách gỡ lỗi một ứng dụng Java trong Eclipse, do đó sẽ giúp bạn có được phần còn lại của con đường. Nếu không, hãy hỏi và tôi sẽ mở rộng về điều này.

29

Bạn có thể làm điều này trong Eclipse với các bước sau:

  1. Hãy chắc chắn để mở xây dựng tập tin của bạn trong trình biên tập ANT (nhấp chuột phải vào xây dựng tập tin -> Open with -> editor Ant).
  2. Nhấp đúp vào lề trái của tệp xây dựng của bạn nơi bạn muốn điểm ngắt.
  3. Mở chế độ xem Ant (Cửa sổ -> Hiển thị chế độ xem -> Ant).
  4. Nếu tệp xây dựng không có trong chế độ xem thì bạn có thể chỉ cần thêm nó.
  5. Sau khi thêm nhấp chuột phải vào mục tiêu kiến ​​ bạn muốn chạy và chọn gỡ lỗi như -> Ant xây dựng
  6. Quan điểm gỡ lỗi sẽ mở ra và quá trình này nên dừng lại ở breakpoint của bạn, nơi bạn có thể bước qua nó
  7. Thỉnh thoảng, nó được yêu cầu đặt đối số tại thời điểm gỡ lỗi. Nó có thể được thiết lập bằng cách chọn: Debug as -> Ant build. Và sau đó cần phải chọn Đối số. Và sau đó các giá trị có thể được nhập dưới dạng: -Dprop.name = giá trị thuộc tính
2

Trước khi bạn đi sâu vào bên trong Ant, có thể cố gắng chạy tập lệnh bằng cờ -d (gỡ lỗi) và quan sát đầu ra. Giả sử rằng bạn quan tâm đến việc hiểu kịch bản Ant cụ thể đang hoạt động như thế nào (hoặc không hoạt động) chứ không phải bản thân Ant.

Nếu Ant là khu vực bạn quan tâm, các câu trả lời ở trên là hướng đi theo.

4

Với các tệp kiến ​​lớn hoặc các dự án java lớn, khi chúng tôi có thể có nhiều tệp giả gọi nhau, tôi thấy rằng biểu đồ phụ thuộc rất hữu ích. Tôi đã sử dụng Grand cho mục đích này.

Tất nhiên, điều này sẽ không giúp được gì nhiều nếu bạn muốn gỡ lỗi chuỗi hướng dẫn bên trong một mục tiêu cụ thể.

2

Tạo một kịch bản antdebug.sh mà đặt biến môi trường ANT_OPTS trước khi bắt đầu kiến ​​

#!/bin/bash 
set -e 
export ANT_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=2607" 
# now execute ant 
exec ant "[email protected]" 

Sau đó bạn từ xa có thể gắn vào nó bằng cách sử IDE của bạn. Xin lưu ý rằng suspend=y, nó sẽ tạm ngưng thực hiện cho đến khi bạn được đính kèm.

0

thêm bên dưới thẻ xml để kiến ​​build.xml sau khi mục tiêu init

<javac srcdir="${src.java.dir}" destdir="${target.build.dir}" includeantruntime="true" source="${source}" target="${target}" debug="true" debuglevel="lines,vars,source" classpathref="main.classpath" fork="true" memoryinitialsize="512m" memorymaximumsize="512m" /> 

nếu javac đã có chắc chắn để thêm debug="true" debuglevel="lines,vars,source" để có một phiên debug tương tác.