fpcで作成したコンソールアプリが実行時にEAccessViolationとなるのでfpcでソースのエラー位置を調べたら
ある関数の最後のendが示されて役に立ちませんでした
Lazarusに持って行ったら例外で停止さえしませんでした
Delphai6に持って行ってOSによる例外をデバッガが受け取るという設定にしたらやっと発生位置が特定できました
FPC/Lazarusではどうにもならないのでしょうか
Lazurusはちょっと古くて2.2.4です
探検
【Delphi互換!?】FreePascal/Lazarus その2【GPL】
レス数が950を超えています。1000を超えると書き込みができなくなります。
982デフォルトの名無しさん
2025/10/07(火) 18:15:23.51ID:PufELU/u983デフォルトの名無しさん
2025/10/07(火) 22:35:09.49ID:GcmYQjI+984デフォルトの名無しさん
2025/10/08(水) 09:53:53.24ID:i2Vw4tqm 最適化がオンでもオフでも
Execution stopped with exit-code 1 ($0001)
というポップアップが出て終了してしまいます
エラー位置にカーソルは行ってくれません
デバッガはdefault debuggerでもGdbでも同じです
Execution stopped with exit-code 1 ($0001)
というポップアップが出て終了してしまいます
エラー位置にカーソルは行ってくれません
デバッガはdefault debuggerでもGdbでも同じです
985デフォルトの名無しさん
2025/10/08(水) 10:11:36.23ID:i2Vw4tqm 982で「例外で停止さえしませんでした」というのは嘘でしたstoppedだから停止はしていますね
でもどこで停止したのかがわかりません
fpcでは
fpc -glh -O- とかやってどの関数でエラーが発生したのかまではわかるのですが
でもどこで停止したのかがわかりません
fpcでは
fpc -glh -O- とかやってどの関数でエラーが発生したのかまではわかるのですが
986デフォルトの名無しさん
2025/10/08(水) 14:47:25.50ID:xHDBIHkx fpcそのものからは離れますが
exet code が1でエラーなので例外停止したと読めます
ただコンソールアプリがさまざまな返り値を返すこと自体はエラーでも何でもなく普通のことだと私は理解しています
アプリの終了時に0を返せばいいのでは?
Cだと
int main()
{
printf("hello world");
return 0;
}
エラー位置が特定できないのはそもそもプログラムが終わっているからとも解釈できます。rezarusにexiecode=1のエラーを無視するみたいなのはないのでしょうか?
的外れでしたらすみません
exet code が1でエラーなので例外停止したと読めます
ただコンソールアプリがさまざまな返り値を返すこと自体はエラーでも何でもなく普通のことだと私は理解しています
アプリの終了時に0を返せばいいのでは?
Cだと
int main()
{
printf("hello world");
return 0;
}
エラー位置が特定できないのはそもそもプログラムが終わっているからとも解釈できます。rezarusにexiecode=1のエラーを無視するみたいなのはないのでしょうか?
的外れでしたらすみません
987デフォルトの名無しさん
2025/10/08(水) 21:55:59.60ID:i2Vw4tqm >>986
985 に訂正して書きましたようにLazarusでもエラー停止はしています
デバッガにはエラー位置を特定してもらいたいという話です
Lazarus/FPCではEAccessViolationのエラーについてそれができないようでした
一方Delphi 6では同じソースでEAccessViolationについても停止してからIDE上でカーソルがエラー位置に飛びます
985 に訂正して書きましたようにLazarusでもエラー停止はしています
デバッガにはエラー位置を特定してもらいたいという話です
Lazarus/FPCではEAccessViolationのエラーについてそれができないようでした
一方Delphi 6では同じソースでEAccessViolationについても停止してからIDE上でカーソルがエラー位置に飛びます
988デフォルトの名無しさん
2025/10/09(木) 07:09:23.25ID:l11UH+Dz どうもお役に立てなかったようです
989デフォルトの名無しさん
2025/10/12(日) 17:55:59.44ID:E5GJpTM9 987です
前回のプログラムは開発途中でもう残っていないのですが、EAccessViolationが発生する単純なプログラムで
今日改めてテストして見ました所Lazarus/FPCとも正しくエラー行を表示してくれました
お騒がせしてすみませんでした
前回は一体何だったのだろうか・・・
{$APPTYPE CONSOLE}
program test;
uses SysUtils;
var
p: PInteger;
begin
Writeln('Start');
p := nil;
p^ := 123;
Readln
end.
前回のプログラムは開発途中でもう残っていないのですが、EAccessViolationが発生する単純なプログラムで
今日改めてテストして見ました所Lazarus/FPCとも正しくエラー行を表示してくれました
お騒がせしてすみませんでした
前回は一体何だったのだろうか・・・
{$APPTYPE CONSOLE}
program test;
uses SysUtils;
var
p: PInteger;
begin
Writeln('Start');
p := nil;
p^ := 123;
Readln
end.
990デフォルトの名無しさん
2025/10/13(月) 09:39:19.36ID:Jdg3EAgT コンソールアプリの返り値が1なのでエラーだったと思いますが
書き込まれたソースですと返り値が指定されていません
よって返り値は不定なのでその度に結果が異なると解釈できないことはありません。
なので返り値を明示的に指定してその結果を比較されていかがでしょうか?
以下はgrokに聞きました
Q)pascal(free pascal)を使用して、windows(dos)上で動作するコンソールアプリを作成します
そのコンソールアプリの返り値を指定するにはどうしたらいいですか
A) by grok
Free Pascalでは、プログラムの終了コードをHalt手続きやExitCode変数を使用して設定できます。以下に具体的な手順とサンプルコードを示します。
<<sample1>>
program ExitCodeDemo;
begin
WriteLn('プログラムが正常に終了しました');
Halt(0); // 終了コード 0 を返す
end.
<<sample2>>
program ExitCodeDemo;
begin
WriteLn('プログラムが実行中...');
ExitCode := 42; // 終了コード 42 を返す
end.
書き込まれたソースですと返り値が指定されていません
よって返り値は不定なのでその度に結果が異なると解釈できないことはありません。
なので返り値を明示的に指定してその結果を比較されていかがでしょうか?
以下はgrokに聞きました
Q)pascal(free pascal)を使用して、windows(dos)上で動作するコンソールアプリを作成します
そのコンソールアプリの返り値を指定するにはどうしたらいいですか
A) by grok
Free Pascalでは、プログラムの終了コードをHalt手続きやExitCode変数を使用して設定できます。以下に具体的な手順とサンプルコードを示します。
<<sample1>>
program ExitCodeDemo;
begin
WriteLn('プログラムが正常に終了しました');
Halt(0); // 終了コード 0 を返す
end.
<<sample2>>
program ExitCodeDemo;
begin
WriteLn('プログラムが実行中...');
ExitCode := 42; // 終了コード 42 を返す
end.
991デフォルトの名無しさん
2025/10/14(火) 19:14:39.90ID:QTjOk1jf >>990
989ですが、今となっては当初デバッガが動作しなかった理由はわかりません
その後簡単なテストプログラムで問題なくエラー行は検知されました
ちなみにFree Pascalのプログラムではエラーの時に返り値を設定する以外に特に返り値の指定は不要で、
正常終了すればゼロになります
989ですが、今となっては当初デバッガが動作しなかった理由はわかりません
その後簡単なテストプログラムで問題なくエラー行は検知されました
ちなみにFree Pascalのプログラムではエラーの時に返り値を設定する以外に特に返り値の指定は不要で、
正常終了すればゼロになります
992デフォルトの名無しさん
2025/11/12(水) 01:21:59.39ID:oQstHhSD Lazarus 4.4が出ました
https://forum.lazarus.freepascal.org/index.php/topic,72707.0.html
https://forum.lazarus.freepascal.org/index.php/topic,72707.0.html
993デフォルトの名無しさん
2025/11/12(水) 09:15:18.55ID:JDphJLx0 バージョンアップする必要性を感じなくなって2.2.4のまま使っている
fpcはunicode不完全対応の3.2.2でずっと変わらないし過去作成したプログラムを修正する必要が発生するかもしれないのもいやだしね
fpcはunicode不完全対応の3.2.2でずっと変わらないし過去作成したプログラムを修正する必要が発生するかもしれないのもいやだしね
レスを投稿する
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- ネット殺到「高市総理の責任」「完全に高市リスク」「高市さん負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 [樽悶★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★10 [ぐれ★]
- 【為替】対ドルで157円台、対ユーロ181円台に下落 財政悪化を警戒 [蚤の市★]
- トランプ氏「台湾侵攻すれば北京爆撃」“過激予告発言”報道がXで再燃「高市氏の1億倍やばい」 [七波羅探題★]
- フィフィ、中国の“日本産水産物輸入停止”措置に私見「中国依存しないとやっていけない企業は考えを改めて」 [Anonymous★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 ★2 [おっさん友の会★]
- 【高市点字】 ローカル鉄道会社「ホームに点字ブロックかぁ…。 150m施工すると1500万円!?😱 そんな金ないよぉ……」 [485983549]
- 【悲報】倉田真由美「なんで高市は子供がいる家庭に2万円給付するの?子供がいる家庭ばかり優遇するのおかしくね?」 [802034645]
- 【高市朗報】日経、暴騰気配wwwwwwwwwwwwwwwwwwwww [271912485]
- 【悲報】高市早苗「“なり得る”って言っただけでなんでそんなに叩くの?私女なんですけど!」 [616817505]
- 【高市外交】日本の局長が有能だったとの事。わざと困り顔で頭を下げる写真を撮らせ、中国内で好印象も、世界は中国の態度を非難という構図 [219241683]
- 中国報道、高市首相を「毒苗」と中傷😡 [399259198]
