소개 네트워킹 클래스 인 P2P Twitter 클라이언트에서 작업 중입니다. 내 동료에게 자신을 등록 할 수있는 방법을 제공하려고 시도하고 있으므로 다른 동료가 그것을 발견 할 수 있습니다. DNSSD.Register()를 호출 할 수 있도록 DNS TXT 레코드를 만듭니다.이 오류의 원인은 무엇입니까 (java) : "0x0 rip = 0x106282bae의 잘못된 메모리 액세스"
무엇이 오류 (자바)의 원인이되는: "위치 0x0으로 립의 잘못된 메모리 액세스 = 0x106282bae"여기
것은 그것의 원인이되는 방법이다 그러나이 방법은 호출 될 때 읽기 오류가 :
import com.apple.dnssd.*;
public static void announce()throws com.apple.dnssd.DNSSDException{
TXTRecord txtRec = new TXTRecord();
txtRec.set("Version", "1.1");
txtRec.set("EncryptionSupport", "false");
txtRec.set("DisplayName", profile.getPropertyValue("UserName"));
txtRec.set("UserID", profile.getPropertyValue("UserID"));
RegisterListener myRegisterListener = null;
DNSSDRegistration reg = null;
RegisterListener myRegistrationListener = null;
reg = DNSSD.register
(0, DNSSD.ALL_INTERFACES, profile.getPropertyValue("UserName"),
profile.getPropertyValue("DNSSDServiceName"),
null, null, 4444, txtRec, myRegistrationListener);
}
"reg = ..."행은 오류를 발생시키는 행입니다. 내가 뭘 잘못하고 있는지에 대한 아이디어는? 이것의 많은 부분은 내가 완전히 이해하지 못하는 예에서 취해진 것입니다.
이것은 원시 라이브러리의 버그처럼 보입니다. Java는이 오류 메시지를 생성하지 않습니다. –
당신이하지 말아야 할 곳에'null'을 건네도, 라이브러리는 네이티브 메소드로 사용하기 전에 인수를 검사해야합니다. –