[RESOLU] Invalid Memory Access à la fin d'une procédure
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
[RESOLU] Invalid Memory Access à la fin d'une procédure
Bonjour dans le cadre de Moebius, j'arrive à la fin du fonction ( http://code.google.com/p/moebius-pb/sou ... ep2.pb#743 ) et là, PureBasic m'annonce par débuggeur externe qu'il bloque à la ligne 744.
Ce code bloque simplement pour le build de l'userlib de l'exemple 5 : http://code.google.com/p/moebius-pb/sou ... mple_05.pb
Ce code fonctionne sans problème sous Windows.
Ce code bloque tout simplement le débuggueur intégré et ne m'annonce aucun pb.
Ce code bloque simplement pour le build de l'userlib de l'exemple 5 : http://code.google.com/p/moebius-pb/sou ... mple_05.pb
Ce code fonctionne sans problème sous Windows.
Ce code bloque tout simplement le débuggueur intégré et ne m'annonce aucun pb.
Dernière modification par Progi1984 le mer. 06/mai/2009 20:53, modifié 2 fois.
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Négatif, je suis dans la fonction Moebius_Compile_Step2_CreateSharedFunction() et ca ne veut pas quitter.
Le log du debuggueur externe :
Le log du debuggueur externe :
Code : Tout sélectionner
[Debugger] LOG > 21:58:21 Moebius_Compile_Step1()
[Debugger] LOG > 21:58:21 From > /tmp/Moebius/Sample_05/
[Debugger] LOG > 21:58:21 "/media/DISK/Programs/purebasic/compilers/pbcompiler" "/home/franklin/Bureau/DD_PureBasic/Proj_Moebius/Sample_Lib/Sample_05.pb" -c -e "/tmp/Moebius/Sample_05/Sample_05"
- Feel the ..PuRe.. Power -***************
[Debugger] LOG > 21:58:22 Moebius_Compile_Step2()
[Debugger] LOG > 21:58:22 Load the content of purebasic.asm in memory
[Debugger] LOG > 21:58:22 Create Functions List from Pure & User Libraries
[Debugger] LOG > 21:58:22 Extracts information for the future creation of the DESC File
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\sFuncNameCleared > S05_FunctionTest
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\FuncName Full> S05_FunctionTest(PrimParam.l)
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\CallingConvention > StdCall
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\FuncDesc >
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\Params > PrimParam.l
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\FuncName Light> S05_FunctionTest
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\FuncRetType > Long
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\ParamsRetType > , Long
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\ParamsClean > PrimParam.l
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\InDescFile > 1
[Debugger] LOG > 21:58:22
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\sFuncNameCleared > S05_FunctionBis
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\FuncName Full> .s S05_FunctionBis()
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\CallingConvention > StdCall
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\FuncDesc >
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\Params >
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\FuncName Light> S05_FunctionBis
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\FuncRetType > String
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\ParamsRetType >
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\ParamsClean >
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\InDescFile > 1
[Debugger] LOG > 21:58:22
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\sFuncNameCleared > S05_FunctionTrisTest
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\FuncName Full> S05_FunctionTrisTest()
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\CallingConvention > StdCall
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\FuncDesc >
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\Params >
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\FuncName Light> S05_FunctionTrisTest
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\FuncRetType > Long
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\ParamsRetType >
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\ParamsClean >
[Debugger] LOG > 21:58:22 LL_DLLFunctions()\InDescFile > 1
[Debugger] LOG > 21:58:22
[Debugger] LOG > 21:58:22 Remove some ASM code
[Debugger] LOG > 21:58:22 LL_LibUsed() > string
[Debugger] LOG > 21:58:22 Create ASM Files
[Debugger] LOG > 21:58:22 Private functions
[Debugger] LOG > 21:58:22 Create Regex for searching all PBName Functions and replacing ASM Name Functions
[Debugger] LOG > 21:58:22 Replace pb name functions by asm name functions
[Debugger] LOG > 21:58:22 Free Regex
[Debugger] LOG > 21:58:22 Asm code
[Debugger] LOG > 21:58:22 S05_FunctionTest > Loading sASMContent
[Debugger] LOG > 21:58:22 Format
[Debugger] LOG > 21:58:22 Main Declaration
[Debugger] LOG > 21:58:22 Extrn
[Debugger] LOG > 21:58:22 Extrn > Write
[Debugger] LOG > 21:58:22 Extrn > InitFunction
[Debugger] LOG > 21:58:22 Code
[Debugger] LOG > 21:58:22 S05_FunctionTest > Writing File
[Debugger] LOG > 21:58:22 S05_FunctionBis > Loading sASMContent
[Debugger] LOG > 21:58:22 Format
[Debugger] LOG > 21:58:22 Main Declaration
[Debugger] LOG > 21:58:22 Extrn
[Debugger] LOG > 21:58:22 Extrn > Write
[Debugger] LOG > 21:58:22 Extrn > InitFunction
[Debugger] LOG > 21:58:22 Code
[Debugger] LOG > 21:58:22 S05_FunctionBis > Writing File
[Debugger] LOG > 21:58:22 S05_FunctionTrisTest > Loading sASMContent
[Debugger] LOG > 21:58:22 Format
[Debugger] LOG > 21:58:22 Main Declaration
[Debugger] LOG > 21:58:22 Extrn
[Debugger] LOG > 21:58:22 Extrn > Write
[Debugger] LOG > 21:58:22 Extrn > InitFunction
[Debugger] LOG > 21:58:22 Code
[Debugger] LOG > 21:58:22 S05_FunctionTrisTest > Writing File
[Debugger] LOG > 21:58:22 Init Function Code
[Debugger] LOG > 21:58:22 Shared Code
[Debugger] LOG > 21:58:22 Adding function in LL_DLLFunctions()
[Debugger] LOG > 21:58:22 Extracting SharedCode from MainFile & Deleting unuseful code
[Debugger] LOG > 21:58:22 Search extrn
[Debugger] LOG > 21:58:22 Begin to write the SharedFunction in file
[Debugger] LOG > 21:58:22 Finish to write the SharedFunction in file
[Debugger Error] Invalid memory access.
[Debugger Error] File: /home/franklin/Bureau/DD_PureBasic/Proj_Moebius/Inc_Compile_Step2.pb (Line: 744)
Fatal error. Do you with to open the Debugger console? (Yes, No)
(y,N)
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Personne n'a d'idée ?
Peut-être qqun souhaiterait un package de test ?
Peut-être qqun souhaiterait un package de test ?
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Voilà, j'ai fait le package : http://partage.rootslabs.net/Moebius_bug_2009_05_04.zip
Désolé, je n'y avais pas pensé au package sans que mon collègue de boulot ne m'y fasse penser.
Voici la ligne de commande à mettre dans les options en n'oubliant pas de changer le chemin du fichier Sample_05 :
Compilateur > Options du compilateur > Compiler/Executer > Paramètres de l'exécutable
Désolé, je n'y avais pas pensé au package sans que mon collègue de boulot ne m'y fasse penser.
Voici la ligne de commande à mettre dans les options en n'oubliant pas de changer le chemin du fichier Sample_05 :
Compilateur > Options du compilateur > Compiler/Executer > Paramètres de l'exécutable
Code : Tout sélectionner
-b -l "Sample_05" -f -pbi "Prefs/Moebius_Linux.ini" "/home/franklin/Bureau/DD_PureBasic/Proj_Moebius/Sample_Lib/Sample_05.pb"
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Quelqu'un a til eu le temps de tester ?
Merci d'avance
Merci d'avance
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Voici la ligne de commande à mettre dans les options en n'oubliant pas de changer le chemin du fichier Sample_05 :
Compilateur > Options du compilateur > Compiler/Executer > Paramètres de l'exécutable
Compilateur > Options du compilateur > Compiler/Executer > Paramètres de l'exécutable
Code : Tout sélectionner
-b -l "Sample_05" -f -pbi "Prefs/Moebius_Linux.ini" "/home/franklin/Bureau/DD_PureBasic/Proj_Moebius/Sample_Lib/Sample_05.pb"
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Que te retourne le debug ou le fichier de log dans /tmp/Moebius/Sample_05/LOGS, stp ?
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
Ha non , ca passe , mauvaise manip de ma part
LOG > 21:43:14 Moebius_Compile_Step1()
LOG > 21:43:14 From > /tmp/Moebius/Sample_05/
LOG > 21:43:14 "/home/jerome/purebasic/compilers/pbcompiler" "/home/jerome/Bureau/Moebius_bug_2009_05_04/Sample_Lib/Sample_05.pb" -c -e "/tmp/Moebius/Sample_05/Sample_05"
LOG > 21:43:14
******************************************
PureBasic 4.30 (Linux - x86)
******************************************
Loading external modules...
Starting compilation...
13 lines processed.
Creating the executable.
- Feel the ..PuRe.. Power -
LOG > 21:43:14 Moebius_Compile_Step2()
LOG > 21:43:14 Load the content of purebasic.asm in memory
LOG > 21:43:14 Create Functions List from Pure & User Libraries
LOG > 21:43:14 Extracts information for the future creation of the DESC File
LOG > 21:43:14 LL_DLLFunctions()\sFuncNameCleared > S05_FunctionTest
LOG > 21:43:14 LL_DLLFunctions()\FuncName Full> S05_FunctionTest(PrimParam.l)
LOG > 21:43:14 LL_DLLFunctions()\CallingConvention > StdCall
LOG > 21:43:14 LL_DLLFunctions()\FuncDesc >
LOG > 21:43:14 LL_DLLFunctions()\Params > PrimParam.l
LOG > 21:43:14 LL_DLLFunctions()\FuncName Light> S05_FunctionTest
LOG > 21:43:14 LL_DLLFunctions()\FuncRetType > Long
LOG > 21:43:14 LL_DLLFunctions()\ParamsRetType > , Long
LOG > 21:43:14 LL_DLLFunctions()\ParamsClean > PrimParam.l
LOG > 21:43:14 LL_DLLFunctions()\InDescFile > 1
LOG > 21:43:14
LOG > 21:43:14 LL_DLLFunctions()\sFuncNameCleared > S05_FunctionBis
LOG > 21:43:14 LL_DLLFunctions()\FuncName Full> .s S05_FunctionBis()
LOG > 21:43:14 LL_DLLFunctions()\CallingConvention > StdCall
LOG > 21:43:14 LL_DLLFunctions()\FuncDesc >
LOG > 21:43:14 LL_DLLFunctions()\Params >
LOG > 21:43:14 LL_DLLFunctions()\FuncName Light> S05_FunctionBis
LOG > 21:43:14 LL_DLLFunctions()\FuncRetType > String
LOG > 21:43:14 LL_DLLFunctions()\ParamsRetType >
LOG > 21:43:14 LL_DLLFunctions()\ParamsClean >
LOG > 21:43:14 LL_DLLFunctions()\InDescFile > 1
LOG > 21:43:14
LOG > 21:43:14 LL_DLLFunctions()\sFuncNameCleared > S05_FunctionTrisTest
LOG > 21:43:14 LL_DLLFunctions()\FuncName Full> S05_FunctionTrisTest()
LOG > 21:43:14 LL_DLLFunctions()\CallingConvention > StdCall
LOG > 21:43:14 LL_DLLFunctions()\FuncDesc >
LOG > 21:43:14 LL_DLLFunctions()\Params >
LOG > 21:43:14 LL_DLLFunctions()\FuncName Light> S05_FunctionTrisTest
LOG > 21:43:14 LL_DLLFunctions()\FuncRetType > Long
LOG > 21:43:14 LL_DLLFunctions()\ParamsRetType >
LOG > 21:43:14 LL_DLLFunctions()\ParamsClean >
LOG > 21:43:14 LL_DLLFunctions()\InDescFile > 1
LOG > 21:43:14
LOG > 21:43:14 Remove some ASM code
LOG > 21:43:14 LL_LibUsed() > string
LOG > 21:43:14 Create ASM Files
LOG > 21:43:14 Private functions
LOG > 21:43:14 Create Regex for searching all PBName Functions and replacing ASM Name Functions
LOG > 21:43:14 Replace pb name functions by asm name functions
LOG > 21:43:14 Free Regex
LOG > 21:43:14 Asm code
LOG > 21:43:14 S05_FunctionTest > Loading sASMContent
LOG > 21:43:14 Format
LOG > 21:43:14 Main Declaration
LOG > 21:43:14 Extrn
LOG > 21:43:14 Extrn > Write
LOG > 21:43:14 Extrn > InitFunction
LOG > 21:43:14 Code
LOG > 21:43:14 S05_FunctionTest > Writing File
LOG > 21:43:14 S05_FunctionBis > Loading sASMContent
LOG > 21:43:14 Format
LOG > 21:43:14 Main Declaration
LOG > 21:43:14 Extrn
LOG > 21:43:14 Extrn > Write
LOG > 21:43:14 Extrn > InitFunction
LOG > 21:43:14 Code
LOG > 21:43:14 S05_FunctionBis > Writing File
LOG > 21:43:14 S05_FunctionTrisTest > Loading sASMContent
LOG > 21:43:14 Format
LOG > 21:43:14 Main Declaration
LOG > 21:43:14 Extrn
LOG > 21:43:14 Extrn > Write
LOG > 21:43:14 Extrn > InitFunction
LOG > 21:43:14 Code
LOG > 21:43:14 S05_FunctionTrisTest > Writing File
LOG > 21:43:14 Init Function Code
LOG > 21:43:14 Shared Code
LOG > 21:43:14 Adding function in LL_DLLFunctions()
LOG > 21:43:14 Extracting SharedCode from MainFile & Deleting unuseful code
LOG > 21:43:14 Search extrn
Bug dans cette boucle , on ne sort pas , et 1 itération 

Repeat
If FindString(sLineCurrentTrimmed, ":", 0) > 0
If FindString(sLineCurrentTrimmed, "SYS", 0) = 0
If StringField(sLineCurrentTrimmed, 1, " ") <> "file"
If StringField(sLineCurrentTrimmed, 1, " ") <> "public"
Moebius_Compile_Step2_AddExtrn(StringField(sLineCurrentTrimmed, 1, ":"))
EndIf
EndIf
EndIf
Else
If Left(StringField(sLineCurrentTrimmed, 1, " "), 2) = "v_"
If FindString(sLineCurrentTrimmed, "rd",0) > 0
Moebius_Compile_Step2_AddExtrn(StringField(sLineCurrentTrimmed, 1, " "))
EndIf
EndIf
EndIf
sLineCurrentTrimmed = Trim(PeekLine())
Until sLineCurrentTrimmed = Chr(1)
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
C'est bon... j'ai trouvé le problème...
J'allouais une zone mémoire pour un string en oubliant le character null final...
J'allouais une zone mémoire pour un string en oubliant le character null final...
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net