๋ณธ๋ฌธ์œผ๋กœ ์ด๋™

debugfs

์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „.

debugfs๋Š” ๋ฒ„์ „ 2.6.10-rc๋ถ€ํ„ฐ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํŠน๋ณ„ํ•œ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด๋‹ค.[1]ย ์ด๊ฒƒ์€ย Greg Kroah-Hartman์— ์˜ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค.[2]

debugfs๋Š” ๋””๋ฒ„๊น… ๋ชฉ์ ์œผ๋กœ ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ ์‰ฝ๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋žจ ๊ธฐ๋ฐ˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด๋‹ค. ์ด๊ฒƒ์€ ์ปค๋„ ๊ฐœ๋ฐœ์ž๋“ค์ด ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ์ •๋ณด๋ฅผ ํ™œ์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ์„ ํŽธํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์กด์žฌํ•œ๋‹ค.[3]ย ๋‹จ์ง€ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ชฉ์ ์„ ๊ฐ€์ง„ย /proc์ด๋‚˜, ํŒŒ์ผ ๋‹น ์—„๊ฒฉํ•œ ํ•œ ๊ฐ’์„ ๊ทœ์น™์œผ๋กœ ๊ฐ–๋Š” sysfs์™€ ๋‹ฌ๋ฆฌ ์ด๊ฒƒ์€ ๊ทœ์น™์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ฐœ๋ฐœ์ž๋“ค์€ ์ž์‹ ์ด ์›ํ•˜๋Š” ์•„๋ฌด ์ •๋ณด๋ฅผ ์—ฌ๊ธฐ์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.[4]

์‚ฌ์šฉ

[ํŽธ์ง‘]

debugfs ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์„ ์ปดํŒŒ์ผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”,ย CONFIG_DEBUG_FSย ์˜ต์…˜์ด yes๋กœ ์„ค์ •๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด๊ฒƒ์€ ์ผ๋ฐ˜์ ์œผ๋กœย /sys/kernel/debugย ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช…๋ น์–ด๋กœ ๋งˆ์šดํŠธ๋œ๋‹ค:[5]

mount -t debugfs none /sys/kernel/debug

์ด๊ฒƒ์€ ๋‹ค์Œ์„ ํฌํ•จํ•˜๋Š” C ํ—ค๋” ํŒŒ์ผย linux/debugfs.h์˜ ์—ฌ๋Ÿฌ ํ˜ธ์ถœ๋“ค์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์กฐ์ž‘ ๊ฐ€๋Šฅํ•˜๋‹ค:

  • debugfs_create_file - ๋””๋ฒ„๊ทธ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ.
  • debugfs_create_dir - ๋””๋ฒ„๊ทธ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ.
  • debugfs_create_symlink - ๋””๋ฒ„๊ทธ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ.
  • debugfs_remove - ๋””๋ฒ„๊ทธ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ debugfs ์—”ํŠธ๋ฆฌ๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•œ.

๊ฐ์ฃผ

[ํŽธ์ง‘]
  1. โ†‘ Linux: DebugFS ๋ณด๊ด€๋จ 2010-02-01 - ์›จ์ด๋ฐฑ ๋จธ์‹ , by Jeremy, December 11, 2004, KernelTrap.
  2. โ†‘ โ€œDebugfsโ€. LWN.net. 2004๋…„ 12์›” 13์ผ.
  3. โ†‘ Linux Kernel Documentationย :: filesystemsย : debugfs.txt documentation from the source code (Based on kernel version 2.6.35.4.
  4. โ†‘ An updated guide to debugfs, By Jonathan Corbet, May 25, 2009, LWN
  5. โ†‘ 2.5 Debugfs ๋ณด๊ด€๋จ 2016-01-05 - ์›จ์ด๋ฐฑ ๋จธ์‹  A guide to using debugfs, Ariane Keller, Version 0.8, July 2008, Kernel Space - User Space Interfaces

์™ธ๋ถ€ ๋งํฌ

[ํŽธ์ง‘]