Skip to main content

database upgrade

ํ˜„์žฌ ๋„๊ตฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

๋ˆ„๊ฐ€ ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

CodeQL์€(๋Š”) ๋‹ค์Œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์œ ํ˜•์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • GitHub Code Security๋ฅผ ์ง€์›ํ•˜๋Š” ์กฐ์ง ์†Œ์œ  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ

์ด ๋ฌธ์„œ์˜ ๋‚ด์šฉ

์ฐธ๊ณ  ํ•ญ๋ชฉ

์ด ์ฝ˜ํ…์ธ ๋Š” CodeQL CLI์˜ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด ์š”์†Œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ https://github.com/github/codeql-cli-binaries/releases์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

์ด์ „ ๋ฆด๋ฆฌ์Šค์—์„œ ์ด ๋ช…๋ น์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ํ„ฐ๋ฏธ๋„์—์„œ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ --help ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ์š”

Shell
codeql database upgrade [--threads=<num>] [--ram=<MB>] <options>... -- <database>

์„ค๋ช…

ํ˜„์žฌ ๋„๊ตฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

ํ•„์š”ํ•œ ๊ฒฝ์šฐ QL ํŒฉ ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ์— ์žˆ๋Š” QL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ˜ธํ™˜๋˜๋„๋ก CodeQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋˜๋Œ๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ดํ›„์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ค ๋•Œ ์ตœ์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์˜ต์…˜

๊ธฐ๋ณธ ์˜ต์…˜

<database>

[ํ•„์ˆ˜] ์—…๊ทธ๋ ˆ์ด๋“œํ•  CodeQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

--search-path=<dir>[:<dir>...]

์—…๊ทธ๋ ˆ์ด๋“œ ๋ ˆ์‹œํ”ผ๊ฐ€ ํฌํ•จ๋œ QL ํŒฉ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. ๊ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” QL ํŒฉ(๋˜๋Š” ๋ฃจํŠธ์— .codeqlmanifest.json ํŒŒ์ผ์ด ํฌํ•จ๋œ ํŒฉ ๋ฒˆ๋“ค) ๋˜๋Š” ๊ทธ๋Ÿฌํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ง๊ณ„ ๋ถ€๋ชจ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฝ๋กœ์— ๋””๋ ‰ํ„ฐ๋ฆฌ ํŠธ๋ฆฌ๊ฐ€ ํฌํ•จ๋œ ๊ฒฝ์šฐ ํŠธ๋ฆฌ์˜ ์ˆœ์„œ๊ฐ€ ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ํŒฉ ์ด๋ฆ„์ด ๋””๋ ‰ํ„ฐ๋ฆฌ ํŠธ๋ฆฌ ์ค‘ ๋‘˜ ์ด์ƒ์—์„œ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ ๋จผ์ € ์ง€์ •๋œ ํŠธ๋ฆฌ๊ฐ€ ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค.

์˜คํ”ˆ ์†Œ์Šค CodeQL ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์ฒดํฌ ์•„์›ƒ์—์„œ ์ด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฉด ํ•ด๋‹น ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์žˆ๋Š” ์–ธ์–ด ์ค‘ ํ•˜๋‚˜๋ฅผ ์ฟผ๋ฆฌํ•  ๋•Œ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

(์ฐธ๊ณ : Windows์—์„œ๋Š” ๊ฒฝ๋กœ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ๊ฐ€ ;์ž…๋‹ˆ๋‹ค.)

--additional-packs=<dir>[:<dir>...]

[๊ณ ๊ธ‰] ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ชฉ๋ก์ด ์ง€์ •๋œ ๊ฒฝ์šฐ --search-path์— ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋ณด๋‹ค ๋จผ์ € ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ๊ฒ€์ƒ‰๋ฉ๋‹ˆ๋‹ค. ์ด ์‚ฌ์ด์˜ ์ˆœ์„œ๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ชฉ๋ก์„ ํ†ตํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ์œ„์น˜์—์„œ ํŒฉ ์ด๋ฆ„์„ ์ฐพ์„ ๊ฒฝ์šฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์€ ๊ธฐ๋ณธ ๊ฒฝ๋กœ์—๋„ ํ‘œ์‹œ๋˜๋Š” ํŒฉ์˜ ์ƒˆ ๋ฒ„์ „์„ ์ผ์‹œ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ์ด ์˜ต์…˜์„ ์žฌ์ •์˜ํ•˜๋Š” ๊ฒƒ์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ๋‚ด๋ถ€ ์ž‘์—…์—์„œ๋Š” ๊ตฌ์„ฑ๋œ ๊ฐ’์„ ์žฌ์ •์˜ํ•˜์—ฌ ์ฆ‰์‹œ ์ด ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

(์ฐธ๊ณ : Windows์—์„œ๋Š” ๊ฒฝ๋กœ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ๊ฐ€ ;์ž…๋‹ˆ๋‹ค.)

--target-dbscheme=<file>

์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๋Š” ๋Œ€์ƒ dbscheme์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ๋กœ๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์œผ๋ฉด ์ตœ๋Œ€ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ฒฝ๋กœ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

--target-sha=<sha>

[๊ณ ๊ธ‰] dbscheme ํŒŒ์ผ ๋Œ€์‹  ๋Œ€์ƒ dbscheme์˜ ๋‚ด๋ถ€ ํ•ด์‹œ๋ฅผ ์ œ๊ณตํ•˜๋Š” --target-dbscheme์˜ ๋Œ€์•ˆ์ž…๋‹ˆ๋‹ค.

--[no-]allow-downgrades

์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ๊ด€๋ จ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

์—…๊ทธ๋ ˆ์ด๋“œ ์ฟผ๋ฆฌ ํ‰๊ฐ€๋ฅผ ์ œ์–ดํ•˜๋Š” ์˜ต์…˜

--[no-]tuple-counting

[๊ณ ๊ธ‰] ์ฟผ๋ฆฌ ํ‰๊ฐ€๊ธฐ ๋กœ๊ทธ์— ๊ฐ ํ‰๊ฐ€ ๋‹จ๊ณ„์— ๋Œ€ํ•œ ํŠœํ”Œ ์ˆ˜๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. --evaluator-log ์˜ต์…˜์ด ์ œ๊ณต๋˜๋ฉด ๋ช…๋ น์œผ๋กœ ์ƒ์„ฑ๋œ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ๋ฐ ๊ตฌ์กฐํ™”๋œ JSON ๋กœ๊ทธ ๋ชจ๋‘์— ํŠœํ”Œ ์ˆ˜๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. (๋ณต์žกํ•œ QL ์ฝ”๋“œ์˜ ์„ฑ๋Šฅ ์ตœ์ ํ™”์— ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

--timeout=<seconds>

[๊ณ ๊ธ‰] ์ฟผ๋ฆฌ ํ‰๊ฐ€์— ๋Œ€ํ•œ ์‹œ๊ฐ„ ์ œํ•œ ๊ธธ์ด(์ดˆ)๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์‹œ๊ฐ„ ์ œํ•œ ๊ธฐ๋Šฅ์€ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ "์˜์›ํžˆ" ๊ฑธ๋ฆฌ๋Š” ์‚ฌ๋ก€๋ฅผ ์žก์•„๋‚ด๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ ํ‰๊ฐ€์— ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋Š” ์ด ์‹œ๊ฐ„์„ ์ œํ•œํ•˜๋Š” ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ•์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ณ„๋„๋กœ ์‹œ๊ฐ„์ด ์ง€์ •๋œ ๊ฐ ๊ณ„์‚ฐ ๋ถ€๋ถ„์ด ์‹œ๊ฐ„ ์ œํ•œ ๋‚ด์— ์™„๋ฃŒ๋˜๋Š” ํ•œ ํ‰๊ฐ€๋ฅผ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์ด๋ ‡๊ฒŒ ๋ณ„๋„๋กœ ์‹œ๊ฐ„์ด ์ง€์ •๋œ ๋ถ€๋ถ„์€ ์ตœ์ ํ™”๋œ ์ฟผ๋ฆฌ์˜ "RA ๊ณ„์ธต"์ด์ง€๋งŒ ๋‚˜์ค‘์— ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ๊ฐ„ ์ œํ•œ์ด ์ง€์ •๋˜์ง€ ์•Š๊ฑฐ๋‚˜ 0์œผ๋กœ ์ง€์ •๋œ ๊ฒฝ์šฐ ์‹œ๊ฐ„ ์ œํ•œ์ด ์„ค์ •๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(๊ธฐ๋ณธ ์‹œ๊ฐ„ ์ œํ•œ์ด 5๋ถ„์ธ codeql test run ์ œ์™ธ).

-j, --threads=<num>

ํ•ด๋‹น ์Šค๋ ˆ๋“œ ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ๋ฅผ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค. 0์„ ์ „๋‹ฌํ•˜์—ฌ ์ปดํ“จํ„ฐ์˜ ์ฝ”์–ด๋‹น ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ -_N_์„ ์ „๋‹ฌํ•˜์—ฌ _N_๊ฐœ์˜ ์ฝ”์–ด๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(ํ•˜๋‚˜ ์ด์ƒ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ œ์™ธ).

--[no-]save-cache

[๊ณ ๊ธ‰] ๋””์Šคํฌ ์บ์‹œ์— ์ค‘๊ฐ„ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ทน์ ์œผ๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ๋” ๋งŽ์ด ๊ฑธ๋ฆฌ๊ณ  ๋””์Šคํฌ ๊ณต๊ฐ„์ด ํ›จ์”ฌ ๋” ๋งŽ์ด ์‚ฌ์šฉ๋˜์ง€๋งŒ ์œ ์‚ฌํ•œ ์ฟผ๋ฆฌ์˜ ํ›„์† ์‹คํ–‰ ์†๋„๊ฐ€ ๋นจ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

--[no-]expect-discarded-cache

[๊ณ ๊ธ‰] ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋œ ํ›„ ์บ์‹œ๊ฐ€ ์‚ญ์ œ๋œ๋‹ค๋Š” ๊ฐ€์ •์— ๋”ฐ๋ผ ํ‰๊ฐ€ํ•  ์กฐ๊ฑด์ž์™€ ๋””์Šคํฌ ์บ์‹œ์— ๊ธฐ๋กํ•  ๋‚ด์šฉ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

--[no-]keep-full-cache

[๊ณ ๊ธ‰] ํ‰๊ฐ€๊ฐ€ ์™„๋ฃŒ๋œ ํ›„ ๋””์Šคํฌ ์บ์‹œ๋ฅผ ์ •๋ฆฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜์ค‘์— codeql dataset cleanup ๋˜๋Š” codeql database cleanup์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์‹œ๊ฐ„์ด ์ ˆ์•ฝ๋ฉ๋‹ˆ๋‹ค.

--max-disk-cache=<MB>

์ค‘๊ฐ„ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด ๋””์Šคํฌ ์บ์‹œ๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๊ณต๊ฐ„์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด ํฌ๊ธฐ๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ํ‰๊ฐ€๊ธฐ๋Š” ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ํฌ๊ธฐ์™€ ์ฟผ๋ฆฌ์˜ ๋ณต์žก์„ฑ์— ๋”ฐ๋ผ "ํ•ฉ๋ฆฌ์ ์ธ" ์–‘์˜ ์บ์‹œ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋ณธ ์‚ฌ์šฉ๋Ÿ‰๋ณด๋‹ค ๋†’์€ ํ•œ๋„๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ์ถ”๊ฐ€ ์บ์‹ฑ์ด ๊ฐ€๋Šฅํ•ด์ง€๋ฏ€๋กœ ์ดํ›„ ์ฟผ๋ฆฌ์˜ ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

--min-disk-free=<MB>

[๊ณ ๊ธ‰] ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„์˜ ๋ชฉํ‘œ๋Ÿ‰์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

--max-disk-cache๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„์ด ์ด ๊ฐ’ ์•„๋ž˜๋กœ ๋–จ์–ด์ง€๋ฉด ํ‰๊ฐ€๊ธฐ๋Š” ๋””์Šคํฌ ์บ์‹œ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๋ ค๊ณ  ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

--min-disk-free-pct=<pct>

[๊ณ ๊ธ‰] ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„์˜ ๋ชฉํ‘œ ๋น„์œจ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

--max-disk-cache๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„์ด ์ด ๋ฐฑ๋ถ„์œจ ์•„๋ž˜๋กœ ๋–จ์–ด์ง€๋ฉด ํ‰๊ฐ€๊ธฐ๋Š” ๋””์Šคํฌ ์บ์‹œ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๋ ค๊ณ  ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

--external=<pred>=<file.csv>

์™ธ๋ถ€ ์กฐ๊ฑด์ž <pred> ์˜ ํ–‰์„ ํฌํ•จํ•˜๋Š” CSV ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ --external ์˜ต์…˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

--xterm-progress=<mode>

[๊ณ ๊ธ‰] xterm ์ปจํŠธ๋กค ์‹œํ€€์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ QL ํ‰๊ฐ€ ์ค‘์— ์ง„ํ–‰๋ฅ  ์ถ”์ ์„ ํ‘œ์‹œํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

no: ๋ณต์žกํ•œ ์ง„ํ–‰๋ฅ ์„ ์ƒ์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฉ์ฒญํ•œ ํ„ฐ๋ฏธ๋„์„ ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

auto (๊ธฐ๋ณธ๊ฐ’): ๋ช…๋ น์ด ์ ์ ˆํ•œ ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค.

yes: ํ„ฐ๋ฏธ๋„์ด xterm ์ปจํŠธ๋กค ์‹œํ€€์Šค๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹ํ„ฐ๋ฏธ๋„์˜ _ํฌ๊ธฐ_๋ฅผ ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค(Windows์—์„œ๋Š” ๊ตฌํ˜„๋˜์ง€ ์•Š์Œ). ๋˜ํ•œ -q๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ์ด ๊ธฐ๋Šฅ์€ ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.

25x80 (๋˜๋Š” ์ด์™€ ์œ ์‚ฌ): yes์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ„ฐ๋ฏธ๋„์˜ ํฌ๊ธฐ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. (yes์™€ ๋‹ฌ๋ฆฌ ์ด ๊ธฐ๋Šฅ์€ Windows์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.)

25x80:/dev/pts/17 (๋˜๋Š” ์ด์™€ ์œ ์‚ฌ): stderr์™€ ๋‹ค๋ฅธ ํ„ฐ๋ฏธ๋„์—์„œ ๋ณต์žกํ•œ ์ง„ํ–‰๋ฅ ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋‚ด๋ถ€ ํ…Œ์ŠคํŠธ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์กฐํ™”๋œ ํ‰๊ฐ€๊ธฐ ๋กœ๊ทธ์˜ ์ถœ๋ ฅ์„ ์ œ์–ดํ•˜๋Š” ์˜ต์…˜

--evaluator-log=<file>

[๊ณ ๊ธ‰] ํ‰๊ฐ€๊ธฐ ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ๊ตฌ์กฐํ™”๋œ ๋กœ๊ทธ๋ฅผ ์ง€์ •๋œ ํŒŒ์ผ๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋กœ๊ทธ ํŒŒ์ผ์˜ ํ˜•์‹์€ ์˜ˆ๊ณ  ์—†์ด ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‘ ๊ฐœ์˜ ์ค„ ๋ฐ”๊ฟˆ ๋ฌธ์ž(๊ธฐ๋ณธ๊ฐ’) ๋˜๋Š” --evaluator-log-minify ์˜ต์…˜์ด ์ „๋‹ฌ๋œ ๊ฒฝ์šฐ ํ•˜๋‚˜์˜ ๊ธฐ๋ณธ๊ฐ’ ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„๋œ JSON ๊ฐœ์ฒด ์ŠคํŠธ๋ฆผ์ž…๋‹ˆ๋‹ค. codeql generate log-summary <file>์„(๋ฅผ) ์‚ฌ์šฉํ•˜์—ฌ ์ด ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ณด๋‹ค ์•ˆ์ •์ ์ธ ์š”์•ฝ์„ ์ƒ์„ฑํ•˜๊ณ  ํŒŒ์ผ์„ ์ง์ ‘ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ํŒŒ์ผ์ด ์ด๋ฏธ ์žˆ์œผ๋ฉด ๋ฎ์–ด์”๋‹ˆ๋‹ค.

--evaluator-log-minify

[๊ณ ๊ธ‰] --evaluator-log ์˜ต์…˜์„ ์ „๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ ์ด ์˜ต์…˜๋„ ์ „๋‹ฌํ•˜๋ฉด ์ƒ์„ฑ๋˜๋Š” JSON ๋กœ๊ทธ์˜ ํฌ๊ธฐ๊ฐ€ ์ตœ์†Œํ™”๋˜์ง€๋งŒ ๊ฐ€๋…์„ฑ์ด ํ›จ์”ฌ ๋–จ์–ด์ง‘๋‹ˆ๋‹ค.

์—…๊ทธ๋ ˆ์ด๋“œ ํ”„๋กœ์„ธ์Šค์˜ RAM ์‚ฌ์šฉ๋Ÿ‰์„ ์ œ์–ดํ•˜๋Š” ์˜ต์…˜

-M, --ram=<MB>

์ฟผ๋ฆฌ ํ‰๊ฐ€๊ธฐ๋Š” ์ด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ด ๊ฐ’ ์•„๋ž˜๋กœ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์—ด์‹ฌํžˆ ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค. (๊ทธ๋Ÿฌ๋‚˜ ํฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•˜๋ฉด ๋””์Šคํฌ๋กœ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ ์ง€์› ๋ฉ”๋ชจ๋ฆฌ ๋งต์œผ๋กœ ์ž„๊ณ„๊ฐ’์ด ์†์ƒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

๊ฐ’์€ 2048MB ์ด์ƒ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž‘์€ ๊ฐ’์€ ํˆฌ๋ช…ํ•˜๊ฒŒ ๋ฐ˜์˜ฌ๋ฆผ๋ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜ ์˜ต์…˜

-h, --help

์ด ๋„์›€๋ง ํ…์ŠคํŠธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

-J=<opt>

[๊ณ ๊ธ‰] ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” JVM์— ์˜ต์…˜์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

(๊ณต๋ฐฑ์„ ํฌํ•จํ•˜๋Š” ์˜ต์…˜์€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฃผ์˜ํ•˜์„ธ์š”.)

-v, --verbose

์ถœ๋ ฅ๋˜๋Š” ์ง„ํ–‰๋ฅ  ๋ฉ”์‹œ์ง€ ์ˆ˜๋ฅผ ์ ์ง„์ ์œผ๋กœ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค.

-q, --quiet

์ถœ๋ ฅ๋˜๋Š” ์ง„ํ–‰๋ฅ  ๋ฉ”์‹œ์ง€ ์ˆ˜๋ฅผ ์ ์ง„์ ์œผ๋กœ ์ค„์ž…๋‹ˆ๋‹ค.

--verbosity=<level>

[๊ณ ๊ธ‰] ์„ธ๋ถ€ ์ •๋ณด ํ‘œ์‹œ ์ˆ˜์ค€์„ ์˜ค๋ฅ˜, ๊ฒฝ๊ณ , ์ง„ํ–‰๋ฅ , ์ง„ํ–‰๋ฅ +, ์ง„ํ–‰๋ฅ ++, ์ง„ํ–‰๋ฅ +++ ์ค‘ ํ•˜๋‚˜๋กœ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. -v ๋ฐ -q๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

--logdir=<dir>

[๊ณ ๊ธ‰] ํƒ€์ž„์Šคํƒฌํ”„์™€ ์‹คํ–‰ ์ค‘์ธ ํ•˜์œ„ ๋ช…๋ น์˜ ์ด๋ฆ„์„ ํฌํ•จํ•˜๋Š” ์ƒ์„ฑ๋œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ํŒŒ์ผ์— ์ž์„ธํ•œ ๋กœ๊ทธ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

(๋ชจ๋“  ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์ด๋ฆ„์œผ๋กœ ๋กœ๊ทธ ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜๋ ค๋ฉด --log-to-stderr์„(๋ฅผ) ์ง€์ •ํ•˜๊ณ  stderr๋ฅผ ์›ํ•˜๋Š” ๋Œ€๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•ฉ๋‹ˆ๋‹ค.)

--common-caches=<dir>

[๊ณ ๊ธ‰] ๋‹ค์šด๋กœ๋“œํ•œ QL ํŒฉ ๋ฐ ์ปดํŒŒ์ผ๋œ ์ฟผ๋ฆฌ ๊ณ„ํš๊ณผ ๊ฐ™์ด ์—ฌ๋Ÿฌ CLI ์‹คํ–‰ ๊ฐ„์— ์œ ์ง€๋˜๋Š” ๋””์Šคํฌ์˜ ์บ์‹œ๋œ ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ด ๊ธฐ๋ณธ๊ฐ’์€ ์‚ฌ์šฉ์ž์˜ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ด๋ฆ„์ด ์ง€์ •๋œ .codeql ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์„ค์ •๋˜๋ฉฐ, ์•„์ง ์—†๋Š” ๊ฒฝ์šฐ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค.

v2.15.2๋ถ€ํ„ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.