チラシの裏(告知欄)

・2022年10月でめでたくサイト開設20周年!!
・2006年6月~2008年10月のログは未だ段落分け未修正
・PSNetworkID、ニンテンドーネットワークID「cing-elijah」
IIDX ID「5131-8727」 IIDX28 BISTROVERで引き継ぎ忘れて9th以来のデータが遂に死亡・・・
・プリコネR プレイヤーID「372 206 298」、原神 UID「805223896」
自分用の発売日メモ

アクセスカウンター

 合計:カウンタ
 今日:今日のアクセス数
 昨日:昨日のアクセス数

「 2005年11月16日 」一覧

やっぱり忙しいんだな

今作ってるプログラムのソースコードが10000行を越えて萎え気味のCINGですよ。
全く持ってめんどくさい…全てはウチのソフトに関係するとある法律の改正がいかんのじゃー!
あと、とあるシステムの単体テストをしていたら、見たことないエラーに遭遇。
「スタック領域が不足しています」だってさ。おっかしいなぁ、無限ループはしてないハズだし、ローカル、グローバル変数の領域も充分にあるハズだし…。
デバッグモードでプログラムを追っていたら、原因発見。
とある条件下の元で実行すると、ある部分が幾つもの関数を通ってさらに再帰呼び出しをしまくっている事が判明。
どう見てもスタックオーバーフローです。
本当にありがとうございました。

これを回避する為、ブール型変数を1個作り、ある条件でフラグを操作する事によって対処。
実はこのプログラムを作る際にこのフラグを作ろうか迷ったんだが、ルーチンが複雑化するかと思ってやめた。
しかし実際はその逆だった。こうする事によってエラーが直ったどころか、より完成に近い形となった。
プログラムってのは何でも試さないのいかんね。脳内でアルゴリズム組んでも想定外の流れになる場合もあるし。
今日のエラーは勉強になりますた、ハイ。

上記のプログラムとは関係無いが、80行もあるSQL文ってやっとれんな…。
もっと短くする事も出来るんだが、これ以上短くすると横スクロールバーが出てくるので見にくくなる。
自分で作っといてなんだが、幾つものテーブルを結合するともうワケ分からん…。