스크립트를 효율적으로 디버깅하는 방법을 알지 못합니다. 파이썬과 같은 스택 출력이 필요하지만 기본적으로 Lua/C에는이 기능이 없습니다. 나는 그것을 가능하게하는 방법을 모른다. 또는 단순히 스크립트에서 오류 출력을 얻는 방법은 무엇입니까?스크립트 내에서 Lua 런타임 오류가 발생합니다.
4
A
답변
6
아마도 xpcall과 debug.traceback의 조합을 찾고있을 것입니다.
function functionThatMayFail()
error('Failed')
end
local success, result = xpcall(functionThatMayFail,
function(err) return debug.traceback(err) end)
print(success, result)
이 코드가 인쇄됩니다 : 당신은 스택 추적을 얻기 위해 그것을 오류 처리기와 사용 debug.traceback을 통과 xpcall 사용할 수 있습니다 내가 구현하기 때문에
false xpcall.lua:2: Failed
stack traceback:
xpcall.lua:6: in function <xpcall.lua:6>
[C]: in function 'error'
xpcall.lua:2: in function <xpcall.lua:1>
[C]: in function 'xpcall'
xpcall.lua:5: in main chunk
[C]: ?
0
루아 인터프리터는 기본적으로 오류 출력을 생성합니다. 예 :
$ lua random.lua
lua: random.lua:6: attempt to call global 'xists' (a nil value)
stack traceback:
random.lua:6: in main chunk
[C]: ?
당신이 오류 출력의 측면에서, 당신이 뭘하려는 건지 아니면 더 나은 일이 일어날 것으로 예상한다는 일이되지 않은 것을 명확히 수 : (나는이 스크립트로 오타를 도입)?
+0
이 나를 위해 작동하지 않습니다 메인 프로그램 안의 나의 기능을위한 래퍼. 그것은 프로그램 자체의 외부에서 사용할 수 없습니다. 때로는 너무 많은 오류가 함께 발생하는 경우 대부분 해결하기 쉽기 때문에 게시 할 필요가 없습니다. – ekd123
관련 문제
- 1. "Lua 컴파일시"-lreadline "오류가 발생합니다.
- 2. 안드로이드 텍스트보기에서 런타임 오류가 발생합니다
- 3. ContentPartRecord를 사용하면 런타임 오류가 발생합니다.
- 4. JLabel setIcon 런타임 오류가 발생합니다.
- 5. Google 문서 뷰어에서 ASP.Net 페이지 내에서 자바 스크립트 오류가 발생합니다.
- 6. 주 기능이 끝나면 런타임 스택 오류가 발생합니다.
- 7. Accordian ajax 컨트롤에서 JScript 런타임 오류가 발생합니다.
- 8. 프로그래밍 방식으로 참조를 추가하면 런타임 오류가 발생합니다.
- 9. SSRS 보고서에서 보고서 관리자의 런타임 오류가 발생합니다
- 10. SMTP 클라이언트 프로그램에서 런타임 오류가 발생합니다.
- 11. audio.currentTime 자바 스크립트 오류가 발생합니다
- 12. 프로그램 컴파일시 Lua 충돌이 발생합니다.
- 13. C에서 Lua 스크립트 호출 : 오류
- 14. SWC 내에서 사용되는 경우 TLF는 오류가 발생합니다.
- 15. joomla 내에서 템플릿을 사용하면 치명적인 오류가 발생합니다.
- 16. 는 자바 스크립트 런타임
- 17. listview에서 런타임 예외가 발생합니다.
- 18. 런타임 오류가
- 19. 런타임 오류가
- 20. 오류가 발생하면 lua 가비지 수집합니까?
- 21. RequiredFieldValidator와 ListSearchExtender가 함께 자바 스크립트 오류가 발생합니다
- 22. 링크를 클릭 할 때마다 스크립트 오류가 발생합니다.
- 23. 억제 런타임 오류가
- 24. xcode에서 Lua 스크립트를 호출하면 오류가 발생했습니다.
- 25. std :: string with Qt를 사용하면 파기시 런타임 오류가 발생합니다.
- 26. JNA Jar와 그 메소드를 사용할 때 런타임 오류가 발생합니다.
- 27. 다른 서비스의 인 텐트에서 서비스를 시작하면 런타임 오류가 발생합니다.
- 28. 안드로이드 프로젝트는 Ant를 사용하여 잘 빌드했지만 런타임 오류가 발생합니다
- 29. 런타임 디자인 화면 기능을 사용하려고 할 때 LightSwitch 오류가 발생합니다.
- 30. Groovy mixin과 Gradle DefaultTask를 결합하면 런타임 오류가 발생합니다.
둘 이상의 인수가있는 함수를 어떻게 처리 할 수 있습니까? – ekd123
xpcall을 anon func (다른 함수를 호출하도록 함)와 함께 사용하고 있습니다. 이제는 원하는대로 정확하게 작동합니다. 감사! – ekd123
조금 늦었지만 내부 기능이 필요하지 않습니다. 기능 functionThatMayFail() 오류 ('실패') 끝 지역 성공, 결과 = xpcall (functionThatMayFail, debug.traceback) 인쇄 (성공, 결과는) [LUA에 대한 닉 훈제 햄의 좋은 문서에서 마지막 예를 참조하십시오 .] (http://www.gammon.com.au/scripts/doc.php?lua=xpcall) – DelGurth