programming erlang etc - andstudy/forge GitHub Wiki
λΆλ‘E λλ¨Έμ§ μ μ©ν κ²λ€
λΆμκ³Ό νλ‘νμΌλ§ λꡬ
- Coverage
- μ½λμ€μ λ§μ΄ μνλλ μ€μ? μ ν μνλμ§ μλ μ€μ?
- Profiling
- ν¨μκ° λͺλ² νΈμΆλλκ°? ν¨μκ° νΈμΆλλ μκ°μ?
- xref
- undefined ν¨μ μ°ΎκΈ°
λλ²κΉ
-
μ»΄νμΌλ¬ μ§λ¨
- ν€λ λΆμΌμΉ
- μΈλ°μ΄λ λ³μ
- μ’ λ£λμ§ μμ λ¬Έμμ΄
- λΆμμ ν λ³μ
- κ·Έλ¦Όμ λ³μ
-
λ°νμ μ§λ¨
- μ€ν μΆμ
-
λλ²κΉ κΈ°λ²
- io:format λλ²κΉ
- νμΌλ‘ λ€ννκΈ°
- μ€λ₯ λ‘κ±° μ¬μ©νκΈ°
-
λλ²κ±°
-
μ½λλΆμμλ μ μ©
c(lib_misc,[debug_info]). % λλ²κ·Έμ 보 ν¬ν¨ν΄μ μ»΄νμΌνκ³ im(). % μ°½ λμ°κ³ ii(lib_misc). % lib_misc λͺ¨λμ attach iaa([init]). % μ΄κΈ°ν lib_misc:.... μ¬μ©
-
μΆμ
- trace μΆλ ₯
- erlang:trace
- erlang:trace_pattern
λμ μ½λ λ‘λ©
- μ»΄νμΌ νλ©΄ μμμ μλ²μ μ μ€ν.
-
a κ° λ£¨νμμ b λ₯Ό νΈμΆ -> b λ₯Ό λ³κ²½νκ³ μλ‘ μ»΄νμΌ -> λ€μλ² b νΈμΆλΆν° μλ²μ μ b μ€ν
-module(b). -export([x/0]). x() -> 1. -module(a). -compile(export_all). start(Tag) -> spawn(fun() -> loop(Tag) end). loop(Tag) -> sleep(), Val = b:x(), io:format("Vsn1 (~p) b:x() = ~p~n",[Tag, Val]), loop(Tag). sleep() -> receive after 3000 -> true end.
-
μ€ν
a:start(one).
a:start(two).
Vsn1 (one) b:x() = 1
Vsn1 (two) b:x() = 1
Vsn1 (one) b:x() = 1
Vsn1 (two) b:x() = 1
b λ₯Ό λ³κ²½ x() -> 2 νκ³ μ¬μ»΄νμΌ
c(b).
Vsn1 (one) b:x() = 2
Vsn1 (two) b:x() = 2