Using Heaptrack - githeim/windheim_archive GitHub Wiki

Heaptrack ์‚ฌ์šฉํ•˜๊ธฐ

heaptrack์€ heap memory ์‚ฌ์šฉ์„ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ ํ”„๋กœํŒŒ์ผ๋งํˆด

https://github.com/KDE/heaptrack

์ฝ”๋“œ ์ž…์ˆ˜

git clone https://github.com/KDE/heaptrack.git

๋นŒ๋“œ / ์„ค์น˜

์˜์กดํŒจํ‚ค์ง€ ์„ค์น˜

sudo apt install -y elfutils libdw-dev libboost-dev libboost-program-options-dev libboost-iostreams-dev libboost-system-dev libboost-filesystem-dev libzstd-dev extra-cmake-modules libkchart-dev libkf5coreaddons-dev libkf5i18n-dev libkf5threadweaver-dev  libkf5configwidgets-dev libkf5kio-dev libkf5iconthemes-dev

๋นŒ๋“œ

mkdir build
cd build
cmake ..
make -j
sudo make install

์‚ฌ์šฉ๋ฒ•

$ heaptrack ./yourprogram --logtostderr=1

heaptrack GUI tool์—์„œ ์‚ฌ๊ฐ๋ฌธ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ

์‹คํ–‰์ „ ๋‹ค์Œ๊ณผ ๊ฐ™์ด locale ์„ค์ • ๊ด€๋ จ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€

locale-gen en_US.UTF-8

export LANG=en_US.UTF-8    
export LANGUAGE=en_US.UTF-8
export LC_ALL=C

์™œ heaptrack์„ ์จ์•ผํ•˜๋Š”๊ฐ€

https://github.com/facontidavide/CPP_Optimizations_Diary

์„ค์น˜ ๊ณผ์ • ์ค‘์˜ ์—๋Ÿฌ ๋Œ€์‘

Could NOT find Elfutils (missing: LIBDW_LIBRARIES LIBDW_INCLUDE_DIR)

โ†’sudo apt install elfutils

โ†’sudo apt install libdw-dev

Could NOT find Boost (missing: Boost_INCLUDE_DIR program_options) (Required is at least version "1.41.0")

โ†’sudo apt install libboost-dev -y

Could not find a package configuration file provided by "boost_program_options" (requested version 1.74.0) with any of the following names:

boost_program_optionsConfig.cmake
boost_program_options-config.cmake

โ†’ sudo apt install libboost-program-options-dev

Could not find a package configuration file provided by "boost_iostreams"

โ†’ sudo apt install libboost-iostreams-dev

Could not find a package configuration file provided by "boost_system"

โ†’ sudo apt install libboost-system-dev

Could not find a package configuration file provided by "boost_filesystem"

โ†’ sudo apt install libboost-filesystem-dev

-- The following RECOMMENDED packages have not been found:

  • ZSTD Zstandard offers better (de)compression performance compared with gzip/zlib, making heaptrack faster and datafiles smaller.
  • ECM (required version >= 1.0.0) KDE's extra-cmake-modules, required for the heaptrack_gui executable.

โ†’ sudo apt install -y libzstd-dev extra-cmake-modules

-- The following RECOMMENDED packages have not been found:

  • KChart (required version >= 2.6.0) Required for the heaptrack_gui executable. Get it from the kdiagram module.

โ†’ sudo apt install libkchart-dev

-- The following OPTIONAL packages have not been found:

  • KF5CoreAddons
  • KF5I18n
  • KF5ThreadWeaver
  • KF5ConfigWidgets
  • KF5KIO
  • KF5IconThemes
  • KF5

โ†’ sudo apt install -y libkf5coreaddons-dev libkf5i18n-dev libkf5threadweaver-dev libkf5configwidgets-dev libkf5kio-dev libkf5iconthemes-dev