Asterisk module dev: Difference between revisions

From 탱이의 잡동사니
Jump to navigation Jump to search
No edit summary
Line 25: Line 25:
</pre>
</pre>
더 자세한 디버깅 옵션을 확인하고 싶다면 이곳<ref>http://www.voip-info.org/wiki/view/Asterisk+debugging</ref>을 참조하자.
더 자세한 디버깅 옵션을 확인하고 싶다면 이곳<ref>http://www.voip-info.org/wiki/view/Asterisk+debugging</ref>을 참조하자.
== TEST_FRAMEWORK ==
Asterisk 에서 제공하는 TEST 소스 파일들을 컴파일하고 테스트하기 위해서는 TEST_FRAMEWORK 를 활성화 시켜야 한다. TEST_FRAMEWORK 를 활성화시키지 않으면 다음과 memuselect 에서 다음과 같은 메시지가 나온다.
<pre>
XXX test_pbx
XXX test_poll
... More ...
ACL test module
Depends on: TEST_FRAMEWORK(E)
</pre>
TEST_FRAMEWORK 활성화는 ./configure 실행시, --enable-dev-mode 옵션과 함께 실행하면 활성화 된다.
<pre>
$ ./configure --enable-dev-mode
</pre>


== See also ==
== See also ==

Revision as of 00:27, 18 November 2015

Ovreview

Asterisk module 만들어보기

Valgrind test

정확한 내용은 이곳<ref>https://wiki.asterisk.org/wiki/display/AST/Valgrind</ref>에서 확인할 수 있다.

Valgrind test 를 하기 위해서는 먼저 Asterisk 를 최적화 옵션을 끈채로 소스 컴파일을 하고, 이후 supp 파일과 함께 valgrind 를 실행하면 된다.

    Run 'make menuselect' and in the Compiler Options, enable DONT_OPTIMIZE. A bug marshal may also ask you to enable additional compiler flags depending upon the nature of the issue.
    Rebuild and install Asterisk.

    Run Asterisk as follows, where /usr/src/asterisk/ is location of asterisk source code.
    valgrind --suppressions=/usr/src/asterisk/contrib/valgrind.supp --log-fd=9 asterisk -vvvvcg 9>valgrind.txt
    Reproduce the issue. Following the manifestation of the issue (or when the process crashes), upload the valgrind.txt to the issue tracker.

Core file

보통 Asterisk 를 컴파일을 하면 코어파일이 생기지 않는다.

코어파일이 남지 않으면 디버깅이 힘들어진다. 다음의 작업을 해주자.<ref>http://stackoverflow.com/questions/20743376/asterisk-gdb-how-to-debug-crash-with-gdb-and-asterisk-11-5-1-but-still-core-dunp</ref>

1) compile asterisk with debug symbols

2) in /etc/asterisk/asterisk.conf enable core dump.

더 자세한 디버깅 옵션을 확인하고 싶다면 이곳<ref>http://www.voip-info.org/wiki/view/Asterisk+debugging</ref>을 참조하자.

TEST_FRAMEWORK

Asterisk 에서 제공하는 TEST 소스 파일들을 컴파일하고 테스트하기 위해서는 TEST_FRAMEWORK 를 활성화 시켜야 한다. TEST_FRAMEWORK 를 활성화시키지 않으면 다음과 memuselect 에서 다음과 같은 메시지가 나온다.

XXX test_pbx
XXX test_poll
... More ...


ACL test module
Depends on: TEST_FRAMEWORK(E)

TEST_FRAMEWORK 활성화는 ./configure 실행시, --enable-dev-mode 옵션과 함께 실행하면 활성화 된다.

$ ./configure --enable-dev-mode

See also

References

<references />